欢乐力扣:赎金信

文章目录


1、题目描述

赎金信,给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。

2、 代码

python 复制代码
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 
相关推荐
地平线开发者8 分钟前
【智驾中的大模型 -2】VLM 在自动驾驶中的应用
算法·自动驾驶
柯ran10 分钟前
数据结构|排序算法(三)选择排序 堆排序 归并排序
数据结构·算法·排序算法
愚润求学14 分钟前
【专题刷题】双指针(三):两数之和,三数之和,四数之和
c++·笔记·leetcode·刷题
无敌的牛23 分钟前
滑动窗口209. 长度最小的子数组
数据结构·算法
天天扭码1 小时前
一分钟吃透一道面试算法题——字母异位词分组(最优解)
前端·javascript·算法
网络安全研发随想1 小时前
C语言核心结构+难点精讲+工程技巧
c语言·开发语言·算法
李煜鑫2 小时前
关于视频的一些算法内容,不包含代码等
算法·音视频·语音识别
get lend gua2 小时前
游戏数据分析,力扣(游戏玩法分析 I~V)mysql+pandas
python·mysql·leetcode·游戏·数据分析
我爱工作&工作love我2 小时前
【深基18.例3】查找文献-图的储存与遍历
算法·深度优先·图论
心软且酷丶2 小时前
leetcode:2899. 上一个遍历的整数(python3解法)
python·算法·leetcode