力扣383.赎金信(java语言散列表法)

news2024/12/28 19:30:20

题目描述:

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。
在这里插入图片描述

解题思路:

此题我们抽象出来的问题就是在ransomNote中的字符个数是否大于等于magazine 中对应字符的个数,此时我们就又可以发现再这个抽象出来待解决的问题中存在着一个映射关系,所以我们可以想到用散列表这个数据结构来解决此题,具体操作如下(该操作涉及到本类型题目操作的一个解题技巧,该技巧可参考本人另一篇文章力扣242.有效的字母异位词(Java语言,排序法、散列表法)):

手动创建一个26int类型长度的数组
先将ransomNote中每个字符依次减去’a’作为索引,再将该索引处的值加1
再将magazine中每个字符依次减去‘a’作为索引,将该索引处的值减一并且判断,若此时该索引处值小于0则说明ransomNote中对应字符的个数小于等于magazine中对应得字符,或者ransomNote中不存在magazine中字符,反知易得。

代码:

class Solution {
	//HashTable
	//Time Complexity: O(N)
	//Space Complexity: O(M)	此处M为26
	public boolean canConstruct(String ransomNote, String magazine) {
		//如果rangsomNote得长度大于magazine得长度
		//则直接不符合
		if (rangsomNotee.length() > magazine.length()) {
		 	return false;
		}
		//创建哈希表
		int[] table = new int[26];
		
		//先存入magazine
		for (int i = 0; i < magazine.length(); i++) {
			table[magazine.charAt(i) - 'a']++;
		}
		//再存入magazine,并判断
		for (int j = 0; j < ransomNote.length(); j++) {
			table[ransomNote.charAt(j) - 'a']--;
			if (table[ransomNote.charAt(j) - 'a'] < 0) {
				return false;
			}
		}
		return true;
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/95356.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KVM - 虚机内核配置

缘起 笔者最近分别购买了一台腾讯云和百度云的机器&#xff0c;都是一年期的&#xff0c;配置和价格分别如下&#xff1a; 腾讯云百度云配置2 核&#xff0c;2G 内存&#xff0c;40G 硬盘2 核&#xff0c;4G 内存&#xff0c;80G 硬盘价格50 元78 元 似乎性价比都差不多&…

802.11协议:wifi

802.11协议 博客链接&#xff1a;https://www.blog.23day.site/articles/71 一、协议简介 IEEE 802协议簇是指IEEE标准中关于局域网&#xff08;LAN&#xff09;和城域网&#xff08;MAN&#xff09;的一系列标准。IEEE 802中定义的服务和协议限定在OSI七层网络模型的最低两层…

m基于FPGA的NBDP系统ARQ单元模块的verilog实现

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 NBDP&#xff08;窄带直接印字电报&#xff09;&#xff0c;全称Narrow-Band Direct-Printing。是GMDSS地面无线民系统中的一种重要通信技术&#xff0c;这个终端设备&#xff0c;要与MF、HF设备…

阿里云国际版代充-阿里云无影云桌面是什么?

阿里云国际版无影云桌面的原产品名为弹性云桌面&#xff0c;融合了无影产品技术后更名升级。它可以为用户提供易用、安全、高效的云上桌面服务&#xff0c;帮助快速构建、高效管理桌面办公环境&#xff0c;提供安全、灵活的办公体系。 阿里云国际版无影云桌面分类&#xff1a;…

微信商城怎么开通【微信商城】

微信商城又可以称为微商城&#xff0c;微信商城是很多商家企业作为线上销售的一个平台&#xff0c;毕竟在微信这个这么高日活量的社交平台上&#xff0c;自然会有很多潜在顾客。那么如果想在微信上卖货的商家企业怎么开通微信商城呢&#xff0c;下面给大家说说微信商城怎么开通…

计算机网络实验二:ARP欺骗

计算机网络实验二&#xff1a;ARP欺骗 博客链接&#xff1a;https://www.blog.23day.site/articles/66 一、wireshark 要求&#xff1a;配置并使用wireshark&#xff0c;在无线环境下监听非本机的数据码流&#xff0c;记录并解释如下集中情况下听到的数据包的意义&#xff0c;…

Python爬取福利图要在中午,因为早晚会出事!我才存了2000文件夹

爱美之心人皆有之&#xff0c;我们爬取找寻这些漂亮小姐姐的图片并不是出于什么龌龊的目的。而是欣赏美好的东西总是会让人心情愉悦的&#xff0c;对于美丽事物的追求是人与生俱来的天性。 爬虫成果 发现很多想要学习Python却不知道该怎么下手的朋友&#xff0c;正好我这里整…

基于场景的数据集------明厨亮灶数据集

为了和各位开发爱好者深入合作交流&#xff0c;特此准备分批次开放数据集拱大家交流学士研究使用&#xff0c;整理的非常细腻&#xff0c;有些是专业队伍标注的&#xff0c;主要是菲律宾那边的团队进行标注的。依据众多算法搭建的算法平台主体算法包括 人脸识别&#xff0c;人…

Vue3-ElemenPlu,全栈开发后台系统-JWT方案讲解第三章-Koa架构设计接口方面实现mongdb安装配置工具函数的封装前台首页实现

第三章-Koa架构设计 #!/usr/bin/env node/*** Module dependencies.*/var app = require(../app); var debug = require(debug)

公司新来的00后真是卷王,工作没两年,跳槽到我们公司起薪18K都快接近我了

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …

【LVGL学习笔记】(一)环境搭建

LVGL全程LittleVGL&#xff0c;是一个轻量化的&#xff0c;开源的&#xff0c;用于嵌入式GUI设计的图形库。并且配合LVGL模拟器&#xff0c;可以在电脑对界面进行编辑显示&#xff0c;测试通过后再移植进嵌入式设备中&#xff0c;可以高效地进行开发。 一.嵌入式设备的移植 L…

开发Java Web项目基础储备

大家好&#xff0c;我是邵奈一&#xff0c;一个不务正业的程序猿、正儿八经的斜杠青年。 1、世人称我为&#xff1a;被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员… 2、这几年&#xff0c;我整理了很多IT技术相关的教程给大家&#xff0…

互联网寒冬下奇葩公司行为艺术一览!你就是想笑死我继承我的代码

干货不少&#xff0c;有图有真相&#xff0c;大家慢慢看下去&#xff01; 既然创业&#xff0c;我为什么不自己当老板&#xff0c;要去给你当合伙人&#xff1f;是为了那1K-2K的高薪吗&#xff1f; 这招的不是高级工程师与合伙人&#xff0c;招的怕不是个傻子&#xff01; 有…

[激光原理与应用-58]:激光器 - 光学 - 常见光学镜片的特性

目录 一、纯度 二、透明度与透光率 三、均匀度 四、折射率 五、色散率 六、反射率 七、透光率 八、光线吸收率 一、纯度 光学纯度又称旋光纯度。 二、透明度与透光率 透光率&#xff0c;表示光线透过介质的能力&#xff0c;是透过透明或半透明体的光通量与其入射光…

域名停靠(域名抢注的几种形式)

域名停靠,又叫域名停放。简单来说,就是将具有一定流量的优质域名交给域名停靠服务商管理,让他们在你的域名上面投放广告。 “域名停靠”来自于英文Domain Name Parking&#xff0c;简称DNParking&#xff0c;也称域名停放。如果您有一个理想的域名或者带有流量&#xff08;即&…

杂七杂八的网络安全知识

杂七杂八的网络安全知识 博客链接&#xff1a;https://www.blog.23day.site/articles/81 一、信息安全概述 1.信息与信息安全 信息与信息技术 信息奠基人&#xff1a;香农&#xff1a;信息是用来消除随机不确定性的东西 信息的定义&#xff1a;信息是有意义的数据&#xff…

python采集付费论文批量下载 并保存到文档,毕设论文再也不愁......

嗨害大家好鸭&#xff01; 我是小熊猫鸭~ 大家是不是在写毕业论文的时候 需要参考某一段的内容 要用到复制粘贴&#xff0c;但是吧&#xff0c;某文库就需要付费&#xff0c; 就老难受了… 我们今天就来解决这个"老难受" 环境使用&#xff1a; python 3.8 pych…

2021年全球区块链投融资概况 美国融资量最多 数字资产相关领域依旧火热

据不完全统计&#xff0c;2021年&#xff0c;全球区块链产业共发生1812笔融资事件&#xff0c;从月度投资量来看&#xff0c;3月和4月投资量均达200笔以上&#xff0c;3月数量最多为239笔&#xff0c;其次是4月数量为214笔。1月和2月则获投量最少&#xff0c;均不达100笔&#…

怎么写一个树形穿梭框

图片懒加载基本原理 所谓图片懒加载&#xff0c;就是需要展示图片的时候再加载&#xff0c;当图片没有进入我们的视觉范围内的时候&#xff0c;图片还没有加载&#xff0c;只用一个占位符或者 loading 图片替代。当我们滚动页面时&#xff0c;占位符或者 loading 图片进入到我…

[附源码]Python计算机毕业设计Django绿色生活交流社区网站

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…