描述
You are given a string allowed consisting of distinct characters and an array of strings words. A string is consistent if all characters in the string appear in the string allowed.
Return the number of consistent strings in the array words.
Example 1:
Input: allowed = "ab", words = ["ad","bd","aaab","baa","badab"]
Output: 2
Explanation: Strings "aaab" and "baa" are consistent since they only contain characters 'a' and 'b'.
复制代码
Example 2:
Input: allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"]
Output: 7
Explanation: All strings are consistent.
复制代码
Example 3:
Input: allowed = "cad", words = ["cc","acd","b","ba","bac","bad","ac","d"]
Output: 4
Explanation: Strings "cc", "acd", "ac", and "d" are consistent.
复制代码
Note:
1 <= words.length <= 104
1 <= allowed.length <= 26
1 <= words[i].length <= 10
The characters in allowed are distinct.
words[i] and allowed contain only lowercase English letters.
复制代码
解析
根据题意,只需要遍历每个 word 中的每个字符 c ,如果 c 不存在于 allowed ,那么该 word 不符合题意将其排除后继续进行下一个 word 的判断,遍历结束返回剩下的 word 的个数即可。
解答
class Solution(object):
def countConsistentStrings(self, allowed, words):
"""
:type allowed: str
:type words: List[str]
:rtype: int
"""
res = 0
allowed = set(allowed)
for word in words:
for c in word:
if c not in allowed:
res += 1
break
return len(words) - res
复制代码
运行结果
Runtime: 180 ms, faster than 99.63% of Python online submissions for Count the Number of Consistent Strings.
Memory Usage: 16.3 MB, less than 15.29% of Python online submissions for Count the Number of Consistent Strings.
复制代码
原题链接:leetcode.com/problems/co…
您的支持是我最大的动力
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END