美文网首页
LeetCode-1160-拼写单词

LeetCode-1160-拼写单词

作者: 阿凯被注册了 | 来源:发表于2020-10-24 00:58 被阅读0次

    给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。
    假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。
    注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。
    返回词汇表 words 中你掌握的所有单词的 长度之和。


    image.png

    解题思路:

    1. 先统计chars中各字母的出现次数;
    2. 遍历words,统计其中字符串中各字母的出现次数,均小于chars中的次数;

    Python3代码:

    class Solution:
        def countCharacters(self, words: List[str], chars: str) -> int:
            ans = 0 
            dict_char = {i:chars.count(i) for i in chars}
            for word in words:
                flag=1
                for i, cnt in {i:word.count(i) for i in word}.items():
                    if i not in dict_char or cnt>dict_char[i]:
                        flag=0
                        break
                if flag==1:
                    ans+= len(word)
            return ans
    

    相关文章

      网友评论

          本文标题:LeetCode-1160-拼写单词

          本文链接:https://www.haomeiwen.com/subject/wckqmktx.html