赎金信(判断一个字符串是都可以通过另一个字符串进行转化)
这个题目属于简单的类型,使用字典来进行词频统计,如果ransomNote 中key的个数大于magazine,或者ransomNote的key在magazine中找不到,就返回False。
class Solution: def canConstruct(self, ransomNote: str, magazine: str) -> bool: m_dict={} r_dict={} # 统计ransomNote和magazine字母出现的个数 for m_i in magazine: if m_i not in m_dict: m_dict[m_i]=1 else: m_dict[m_i]+=1 for r_i in ransomNote: if r_i not in r_dict: r_dict[r_i]=1 else: r_dict[r_i]+=1 flag=True for r_key,r_value in r_dict.items(): # 如果 ransomNote 字符出现的个数大于 magazine字符出现的个数 或者 ransomNote中的字符 在magazine中没有 直接break if r_key not in m_dict or r_value>m_dict[r_key]: flag=False break return flag
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具