欢乐力扣:赎金信

文章目录


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 
相关推荐
Felven8 分钟前
B. Deja Vu
数据结构·算法
小玮看世界18 分钟前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
月华路23 分钟前
《模型不玄学》第14章 标签、损失与样本权重
人工智能·算法·机器学习
黄金龙PLUS25 分钟前
SPARKLE置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
不会就选b25 分钟前
算法日常・每日刷题--<贪心>3
数据结构·算法·leetcode
学习星球28 分钟前
编辑距离——二维 DP 的“最小操作“艺术
c++·leetcode·java-consul
行者全栈架构师34 分钟前
WorkBuddy 实战:把一份 200 页年报变成可上台的投资分析 PPT
人工智能·算法·全栈
微三云生态系统架构师-彭丹1 小时前
矩阵拼团系统设计:先付款先排队的订单排序与自动返本算法
线性代数·算法·矩阵
@MMiL1 小时前
基于Keil 的实时参数标定和值观测
算法
无限码力2 小时前
华为非AI方向笔试真题【工厂落点最小加权路程】
算法·华为·华为非ai方向笔试真题·华为笔试真题·华为最新笔试真题·华为笔试题库