【leetcode--383赎金信(使用Counter一行代码结束战斗)】

【leetcode--383赎金信(使用Counter一行代码结束战斗)】

码农世界 2024-05-28 后端 72 次浏览 0个评论

magazine中的字母组成一封赎金信,一个字母只能被用一次,看是否能完成制定赎金信

灵神思路:使用python内置Counter

def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        return Counter(ransomNote) <= Counter(magazine)

Counter是一个用于计算可迭代对象中元素出现次数的工具,它会将元素作为键,出现次数作为值存储在字典中。因此,Counter(ransomNote) <= Counter(magazine)会执行字典比较的操作,它的含义是:如果ransomNote中所有字符出现的次数都不大于等于magazine中对应字符出现的次数,那么这个表达式的结果为True;否则,结果为False。

自己调用的时候记得引入from collections import Counter

拓展:

Python collections模块

namedtuple() : 创建一个命名元组子类的工厂函数

deque :高效增删改双向列表,类似列表(list)的容器,实现了在两端快速添加和弹出

defaultdict : 当字典查询时,为key不存在提供一个默认值。

OrderedDict : 有序词典,就是记住了插入顺序

Counter : 计数功能

转载请注明来自码农世界,本文标题:《【leetcode--383赎金信(使用Counter一行代码结束战斗)】》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,72人围观)参与讨论

还没有评论,来说两句吧...

Top