欢乐力扣:赎金信
- 人工智能
- 2025-08-23 23:48:02

文章目录 1、题目描述2、 代码
1、题目描述
赎金信,给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。
2、 代码 class Solution: def canConstruct(self, ransomNote: str, magazine: str) -> bool: from collections import defaultdict # 构造字典存储字符串的字母和数量 ref_dic = defaultdict(int) for char in magazine: ref_dic[char] +=1 # 遍历 for char in ransomNote: if char in ref_dic: ref_dic[char] -=1 # 如果减到0了,则需要彻底移除这个key if ref_dic[char] == 0: del ref_dic[char] else: return False return True