leetcode383-赎金信

leetcode 383

思路

本题和有效字母异位词很相似,可以查看位的博文:https://blog.csdn.net/weixin_45799371/article/details/145261075?spm=1001.2014.3001.5501

首先也通过哈希map来进行存储,由于magazine中的内容是要完全覆盖ransomNote的,所以我们首先要存储的是magazine的每个字母,然后遍历ransomNote,每次匹配上就让值-1,如果不存在或者magazine的值不够用的时候,这个数值就会变成负数,那么就说明无法完全覆盖,return false;

实现

js 复制代码
var canConstruct = function (ransomNote, magazine) {
    const map = new Map();
    for (let i = 0; i < magazine.length; i++) {
        const item = magazine[i]
        map.set(item, (map.get(item) || 0) + 1)
    }
    for (let i = 0; i < ransomNote.length; i++) {
        const item = ransomNote[i];
        map.set(item, (map.get(item) || 0) - 1);
        if(map.get(item) < 0){
            return false;
        }
    }
    return true;
};
相关推荐
keep intensify44 分钟前
c语言分支和循环
c语言·开发语言·算法
程序趣谈1 小时前
算法随笔_13: 有效三角形的个数
算法
code monkey.2 小时前
【探寻C++之旅】第二章:类和对象(上)
c++·算法
汤姆和杰瑞在瑞士吃糯米粑粑2 小时前
【C++学习篇】哈希表的实现
c++·哈希算法·散列表
一起努力啊~2 小时前
Datawhale组队学习笔记task2——leetcode面试题
笔记·学习·leetcode
骑狗看夕阳2 小时前
Tarjan算法笔记
笔记·算法
大桔骑士v2 小时前
【算法学习笔记】35:扩展欧几里得算法求解线性同余方程
算法·acm·数论·扩展欧几里得算法·线性同余方程
大桔骑士v2 小时前
【算法学习笔记】34:扩展欧几里得算法
算法·acm·数论·最大公约数·扩展欧几里得算法
pursuit_csdn4 小时前
LeetCode 2661. First Completely Painted Row or Column
算法·leetcode
csdn_aspnet4 小时前
c++ 给定欧氏平面中的一组线可以形成的三角形的数量
c++·算法·平面