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;
};
相关推荐
BHXDML4 分钟前
数据结构:(四)空间的艺术——数组压缩与广义表
数据结构
客卿1235 分钟前
力扣二叉树简单题整理(第二集)
算法·leetcode·职场和发展
爱编码的傅同学6 分钟前
【今日算法】LeetCode 543.二叉树的直径 621.任务调度器 739.每日温度
数据结构·算法·leetcode
helloworldandy7 分钟前
C++安全编程指南
开发语言·c++·算法
sin_hielo7 分钟前
leetcode 3651
数据结构·算法·leetcode
Remember_9939 分钟前
【LeetCode精选算法】位运算专题
java·开发语言·jvm·后端·算法·leetcode
源代码•宸11 分钟前
Leetcode—102. 二叉树的层序遍历【中等】
经验分享·后端·算法·leetcode·职场和发展·golang·slice
OnYoung12 分钟前
设计模式在C++中的实现
开发语言·c++·算法
好学且牛逼的马14 分钟前
【Hot100|20-LeetCode 240. 搜索二维矩阵 II 】
linux·算法·leetcode
zmzb010316 分钟前
C++课后习题训练记录Day85
开发语言·c++·算法