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;
};
相关推荐
donoot1 小时前
PaddleOCR + PyMuPDF 生成【全兼容双层 PDF】完整实操指南
人工智能·算法·pymupdf·paddleocr·双层pdf
paeamecium2 小时前
【PAT甲级真题】- Rational Sum (20)
数据结构·c++·python·算法·pat考试·pat
奋发向前wcx8 小时前
y1,y2总复习笔记10 2026.7.24
笔记·哈希算法·散列表
Highcharts.js8 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
拳里剑气11 小时前
C++算法:BFS解决FloodFill算法
c++·算法·bfs·宽度优先
wanderist.13 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
稚南城才子,乌衣巷风流13 小时前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流14 小时前
动态开点:原理、实现与应用场景
数据结构·算法
yyds_yyd_1008614 小时前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode