【leetcode】383. 赎金信(easy)

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。

java 复制代码
class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        HashMap<Character,Integer> hm = new HashMap<>();
        for(int i=0;i<magazine.length();i++){
            char a = magazine.charAt(i);
            if(hm.containsKey(a))
                hm.put(a, hm.get(a)+1);
            else
                hm.put(a,0);
        }

        for(int i=0; i<ransomNote.length(); i++){
            char b = ransomNote.charAt(i);
            // hm不包含b, 返回false
            if(!hm.containsKey(b))
                return false;
            // hm包含b, 若可使用次数不足, 返回false
            if(hm.get(b)<0)
                return false;
            // hm包含b且可使用,更新可使用次数
            hm.put(b, hm.get(b)-1);
        }
        return true;
    }
}
相关推荐
小师兄吃牛肉几秒前
SQL 编辑器异常排查:基于 KStudio 的一次实战记录
java·sql·编辑器
rou2 分钟前
LeetCode410.分割数组的最大值
算法
m0_587383002 分钟前
无人自助拼豆系统开发实战指南 核心功能架构搭建与落地经验分享
java·经验分享·spring·小程序·架构·需求分析
垆边人似月.3 分钟前
华为题:字符串中最长连续数字串
开发语言·c++·算法
_不会dp不改名_5 分钟前
leetcode_3273 数位平方和的最大值
算法·leetcode·职场和发展
vivo互联网技术6 分钟前
SSR-Merge:把 LoRA 合并从"参数算术"变成"信号路由" | ICML 2026
人工智能·算法·计算机视觉
Wang's Blog6 分钟前
Java 项目实战: 交友项目 - Dubbo 超时与重试
java·dubbo·交友
罗湖老棍子7 分钟前
座位安排(洛谷-P2071)
c++·算法·图论·匈牙利算法·二分图匹配
BD_Marathon9 分钟前
ChatPromptTemplate的高级特性
android·java·javascript
巴糖13 分钟前
挑礼物这件事,暴露了你做选择时最大的问题
算法