美文网首页
Leetcode_1160_拼写单词_hn

Leetcode_1160_拼写单词_hn

作者: 1只特立独行的猪 | 来源:发表于2020-03-17 15:00 被阅读0次

题目描述

给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars
假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。

注意:每次拼写时,chars 中的每个字母都只能用一次。
返回词汇表 words 中你掌握的所有单词的 长度之和。

示例

示例 1:

输入:words = ["cat","bt","hat","tree"], chars = "atach"
输出:6
解释: 
可以形成字符串 "cat" 和 "hat",所以答案是 3 + 3 = 6。

示例2:

输入:words = ["hello","world","leetcode"], chars = "welldonehoneyr"
输出:10
解释:
可以形成字符串 "hello" 和 "world",所以答案是 5 + 5 = 10。

解答方法

方法一:哈希表计数

思路

显然,对于一个单词 word,只要其中的每个字母的数量都不大于 chars 中对应的字母的数量,那么就可以用 chars 中的字母拼写出 word
所以我们只需要用一个哈希表存储 chars 中每个字母的数量,再用一个哈希表存储 word 中每个字母的数量,最后将这两个哈希表的键值对逐一进行比较即可。

代码

class Solution:
    def countCharacters(self, words: List[str], chars: str) -> int:
        chars_cnt = collections.Counter(chars)
        res = 0
        for word in words:
            word_cnt = collections.Counter(word)
            flag = True
            for ch in word_cnt:
                if word_cnt[ch] > chars_cnt[ch]:
                    flag = False
                    break
            if flag:
                res += len(word)
        return res
            

时间复杂度

O(n),其中 n 为所有字符串的长度和。我们需要遍历每个字符串,包括 chars 以及数组 words 中的每个单词。

空间复杂度

O(S),其中 S 为字符集大小,在本题中 S的值为 26(所有字符串仅包含小写字母)。程序运行过程中,最多同时存在两个哈希表,使用的空间均不超过字符集大小 S,因此空间复杂度为 O(S)。

相关文章

  • Leetcode_1160_拼写单词_hn

    题目描述 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 ch...

  • Pycharm 提示 Typo: In word 'Loger'

    1.单词拼写错误2.更改拼写的单词:Logger

  • 拼写单词

    题目: 题目的理解: 判断每个字符串中的字母数和字母表字符串中字母数的大小。 python实现 提交 // END...

  • 拼写单词

    题目: 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 cha...

  • 拼写纠正与噪音通道

    纠正单词拼写错误 单词拼写错误的情形 Non-word spelling errors:错误的单词不存在词典中; ...

  • 德语单词学习:德语与英语拼写相似单词随手记

    德语单词学习:德语与英语拼写相似单词随手记 初学德语,现将遇到的与英语拼写相似的德语单词随手摘录出来,以供大家参考...

  • 日更

    今天默写单词的时候,竟然发现自己soldier这个单词不会写,因为不符合拼写的习惯,如果想着用[dʒə]音来拼写的...

  • 2020-10-25 《让大脑自由:释放天赋的12条定律》:大脑

    想象一下,如果你想记住橘子, orange。 1、只给你这个单词的拼写 2、给你这个单词的拼写和读音 3、在2的基...

  • 少儿英语课堂竞赛游戏:hanging

    游戏功能:通过给出字母数量,让孩子猜出单词,回忆单词拼写。

  • 2018-03-30

    精彩一中|“华兹华斯杯”单词拼写大赛 为激发学生学习英语的兴趣,增强单词的拼写及记忆能力。烟台一中“华兹华斯杯”单...

网友评论

      本文标题:Leetcode_1160_拼写单词_hn

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