当前位置: 首页 > news >正文

20-算法打卡-哈希表-赎金信-leetcode(383)-第二十天

1 题目地址

383. 赎金信 - 力扣(LeetCode)383. 赎金信 - 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1:输入:ransomNote = "a", magazine = "b"输出:false示例 2:输入:ransomNote = "aa", magazine = "ab"输出:false示例 3:输入:ransomNote = "aa", magazine = "aab"输出:true 提示: * 1 <= ransomNote.length, magazine.length <= 105 * ransomNote 和 magazine 由小写英文字母组成 https://leetcode.cn/problems/ransom-note/description/


2 题目说明

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

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

magazine 中的每个字符只能在 ransomNote 中使用一次。

 

示例 1:

输入:ransomNote = "a", magazine = "b"
输出:false

示例 2:

输入:ransomNote = "aa", magazine = "ab"
输出:false

示例 3:

输入:ransomNote = "aa", magazine = "aab"
输出:true

 

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNote 和 magazine 由小写英文字母组成


3 解题思路

方式一:使用哈希数组处理
其实就是判断magazine里面的字符是否包含ransomNote 里面的所有字符
1 使用数组存放magazine的元素,索引下标对应元素相对值,值存放个数
2 遍历ransomNote
 ,查询数组对应位置是否有,有则减一,无则直接返回false
方式二:暴力方式两层循环,不断去寻找,找到则移除对应位置的元素即可,无则直接返回false


4 代码编写


4.1 使用哈希-Map处理

class Solution {public boolean canConstruct(String ransomNote, String magazine) {int[] a = new int[26];for (int i=0; i<magazine.length(); i++) {int index = magazine.charAt(i) - 'a';a[index]++;}for (int i=0; i<ransomNote.length(); i++) {int index = ransomNote.charAt(i) - 'a';if (a[index] < 1) {return false;}a[index]--;}return true;}
}


 

 

相关文章:

  • 用sed替换文本 笔记250419
  • Linux 进程间通信详解
  • 鼠标移动操作
  • C++原码、反码和补码
  • YuE本地部署完整教程,可用于ai生成音乐,歌曲
  • 6. 话题通信 ---- 使用自定义msg,发布方和订阅方cpp,python文件编写
  • Linux cmp 命令使用详解
  • Python语法系列博客 · 第8期[特殊字符] Lambda函数与高阶函数:函数式编程初体验
  • git合并分支并推送
  • FPGA系列之DDS信号发生器设计(DE2-115开发板)
  • firewalld 防火墙
  • 从零开始学A2A五:A2A 协议的安全性与多模态支持
  • 第三届世界科学智能大赛新能源赛道:新能源发电功率预测-数据处理心得体会1
  • 压滤机与锡泥产生效率
  • 解决echarts饼图label显示不全的问题
  • Keil MDK中禁用半主机(No Semihosting)
  • LINUX419 更换仓库(没换成)find命令
  • 深度补全网络:CSPN++ 有哪些开源项目
  • FFUF指南
  • 【langchain4j】Springboot如何接入大模型以及实战开发-AI问答助手(一)
  • 上海浦东:顶尖青年人才最高可获700万元资助及1亿元项目补贴
  • 全球建筑瞭望|与自然共呼吸的溪谷石舍与海边公共空间
  • 一季度全国铁路发送旅客10.74亿人次,创同期历史新高
  • 经济日报金观平:良好开局彰显经济韧性与潜力
  • 深圳机器人“十三太保”亮相上海,所为何事?