【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;
    }
}
相关推荐
小道仙973 小时前
jenkins对接、jenkins-rest
java·servlet·jenkins·jenkins-rest
小陈phd4 小时前
多模态大模型学习笔记(七)——多模态数据的表征与对齐
人工智能·算法·机器学习
雨泪丶4 小时前
代码随想录算法训练营-Day35
算法
pursuit_csdn4 小时前
LeetCode 1022. Sum of Root To Leaf Binary Numbers
算法·leetcode·深度优先
莫寒清4 小时前
MinIO
java
NAGNIP5 小时前
一文搞懂神经元模型是什么!
人工智能·算法
董董灿是个攻城狮5 小时前
AI 视觉连载6:传统 CV 之高斯滤波
算法
踩坑记录6 小时前
leetcode hot100 35. 搜索插入位置 medium 二分查找
leetcode
Java后端的Ai之路6 小时前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21