【JS】哈希(数组)解决赎金信问题

ops/2024/10/20 7:29:00/

思路

  • 本文采用数组方式,创建长度为26的数组,用字母对应的Unicode编码做索引,先将杂志字符串每个字母存储到对应位置,再遍历赎金信字符串,减去数组中对应字母的计数,如果出现计数不够减的情况,返回false。
  • 也可以通过Map对象解决,思路可参照以下笔记:

判断有效的字母异位词icon-default.png?t=O83Ahttps://blog.csdn.net/m0_74662483/article/details/142687420?spm=1001.2014.3001.5501

题目

示例代码

javascript">var canConstruct = function (ransomNote, magazine) {// 创建一个长度为 26 的整数数组 strArr,并初始化为 0// 用于统计杂志字符串中每个字母出现的次数const strArr = new Array(26).fill(0);// 获取字符 'a' 的 Unicode 编码值,作为后续计算的基准const base = 'a'.charCodeAt();// 遍历杂志字符串中的每个字符for (const s of magazine) {// 计算当前字符与基准字符 'a' 的编码差值,作为数组的索引// 并将对应位置的计数加 1strArr[s.charCodeAt() - base]++;}// 遍历赎金信字符串中的每个字符for (const s of ransomNote) {// 计算当前字符与基准字符 'a' 的编码差值,作为数组的索引const index = s.charCodeAt() - base;// 如果对应位置的计数为 0,说明该字母在杂志中不够用,无法拼出赎金信,返回 falseif (!strArr[index]) return false;// 将对应位置的计数减 1strArr[index]--;}// 如果遍历完赎金信字符串都没有出现不够用的情况,返回 truereturn true;
};

欢迎指正!


http://www.ppmy.cn/ops/126917.html

相关文章

Docker学习笔记(3) - Docker命令

1. 帮助命令 docker version # 显示docker版本信息 docker info # 显示docker系统信息,包括镜像和容器 docker 命令 --help # 帮助命令2. 镜像命令 docker images # 查看本地主机上的镜像# 搜索镜像 docker search 镜像名称 # 搜索镜像 #…

对象的增删改查,数组api,字符串api,Date对象api,Math对象api

一、对象 1.什么是对象? 在js,对象是一组拥有无序的 属性和 方法的集合 生活中,万事万物皆对象,对象中可以抽象处两个概念:特征(属性)和行为(方法) 人:特征有姓名性别年龄身高体重…

英伟达CEO黄仁勋在BG2播客上做客

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

九、SQL 进阶之路:深入探索数据库查询的艺术

SQL 进阶之路:深入探索数据库查询的艺术 在当今这个数据驱动的时代,数据已经成为了各个行业和领域中至关重要的资源。在这样的大背景下,掌握 SQL(Structured Query Language,结构化查询语言)已然成为了数据…

初学结构化查询语言的操作

SQL: Structured Query Language 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数 据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 一,SQL的分类 1&#xff…

CCS字体、字号更改+CCS下载官方链接

Step1、 按照图示箭头操作 step2 Step3 点击确定,点击Apply(应用),点击Apply and close(应用和关闭) 4、历代版本下载链接 CCS下载:官方链接https://www.ti.com/tool/CCSTUDIO The last but not least 如果成功的解决了你的问题&#x…

大模型涌现判定

什么是大模型? 大模型:是“规模足够大,训练足够充分,出现了涌现”的深度学习系统; 大模型技术的革命性:延申了人的器官的功能,带来了生产效率量级提升,展现了AGI的可行路径&#x…

SpringCloud学习:Openfeign组件实现服务调用和负载均衡

OpenFeign:服务调用与负载均衡(服务端接口) 是什么:通过OpenFeign可以实现服务调用和负载均衡 OpenFeign是一个声明性web服务客户端, 怎么用:服务提供者提取公共接口用FrignClient标注,服务调…