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

哈希表-救赎金

Leetcode: https://leetcode.cn/problems/ransom-note/?envType=study-plan-v2&envId=top-interview-150

给你两个字符串: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 由小写英文字母组成

考点:哈希表

思路:哈希表,ransomNote的hash值+1,magazine的hash值-1,遍历哈希,如果存在大于0的情况则代表false。

bool canConstruct(char * ransomNote, char * magazine){int r = strlen(ransomNote);int m = strlen(magazine);if (r > m) {return false;}int ans[26] = {0};for (int i = 0; i < m; i++) {if (i < r) {ans[ransomNote[i] - 'a']++;} ans[magazine[i] - 'a']--;}for (int i = 0; i < 26; i++) {if (ans[i] > 0) {return false;}}return true;
}

http://www.lryc.cn/news/153891.html

相关文章:

  • vue3+vite+ts项目适配各种分辨率解决方案
  • Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形)
  • 大数据HBASE的详细使用
  • Sentinel 流量控制框架
  • leetcode原题: 跳水板
  • 深度学习入门(Python)学习笔记1
  • 苏州想要获得融资融券低利率账户的方法?怎么开融资融券账户?
  • 【LeetCode周赛】LeetCode第359场周赛
  • vue3+ts+tinynce在富文本编辑器菜单栏实现下拉框选择
  • 前端UI组件库深度解析:构建现代化的用户体验
  • leetcode 1326. Minimum Number of Taps to Open to Water a Garden
  • C++日期类的基本实现
  • 第六章:数据结构与算法-part3:数据结构算法提升
  • keras深度学习框架通过卷积神经网络cnn实现手写数字识别
  • Springboot启动异常 Command line is too long
  • PXE 装机(五十)
  • C++ 虚函数与纯虚函数
  • 警告:Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.30
  • 中文命名实体识别
  • WPF CommunityToolkit.Mvvm Messenger通讯
  • 【杂言】写在研究生开学季
  • 渗透测试漏洞原理之---【任意文件读取漏洞】
  • 合宙Air724UG LuatOS-Air LVGL API控件-图片 (Image)
  • 仿京东 项目笔记2(注册登录)
  • Spark与Flink的区别
  • 未来智造:珠三角引领人工智能产业集群
  • 【Unity db】sqlite
  • Linux 指令心法(四)`touch` 创建一个新的空文件
  • 分类算法系列②:KNN算法
  • 12. 微积分 - 梯度积分