字符串字符匹配(HJ17)
字符串字符匹配
题目描述
https://www.nowcoder.com/share/jump/5832603751775720180207
给定两个字符串,判断第一个字符串中的每个字符是否都在第二个字符串中出现。全部出现输出
true,否则输出 false。
示例
输入:
abc
efghfalse输入:
abc
aabbcctrue解题思路
集合子集判断
将两个字符串转为字符集合,判断第一个集合是否是第二个集合的子集。
代码实现
# HJ17 字符串字符匹配
s = set(input())
t = set(input())
flag = s <= t
print("true") if flag else print("false")代码解析
s <= t - 子集判断
s = {'a', 'b'}
t = {'a', 'b', 'c'}
s <= t # True,s 是 t 的子集等价写法:
s <= t # 运算符写法(推荐)
s.issubset(t) # 方法写法
all(ch in t for ch in s) # 逐个检查时间复杂度
- O(n + m) - 构建两个集合,n 和 m 为字符串长度
空间复杂度
- O(k) - 存储字符集合,k 为字符种类数
字符串字符匹配(HJ17)
https://mingsm17518.github.io/2026/04/09/algorithm/华为机考/nowcoder/String/17_string_match/