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

LeetCode热题100--383

LeetCode热题100–383. 赎金信

题目链接

题目类型: 哈希表、字符串

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

代码1(STL–unordered_map)

class Solution {
public:bool canConstruct(string ransomNote, string magazine) {int cnt[30];for(int i=0;i<magazine.size();i++){cnt[magazine[i]-'a']++;}for(int i=0;i<ransomNote.size();i++){cnt[ransomNote[i]-'a']--;if(cnt[ransomNote[i]-'a'] < 0 ) {return false;}}return true;}
};

这样做会造成额外的空间复杂度,实际上,我们需要统计的字符数只有a-z26个,所以可以直接使用一个int数组cnt[]来记录每个字符出现的次数。

但是我们有两个字符串magazineransomNote,我们需要看ransomNote里的每个字符的数量是否严格小于magazine中的对应字符数量,如果不成立则返回false

代码2(int数组)

class Solution {
public:bool canConstruct(string ransomNote, string magazine) {int cnt[30];for(int i=0;i<magazine.size();i++){cnt[magazine[i]-'a']++;}for(int i=0;i<ransomNote.size();i++){cnt[ransomNote[i]-'a']--;if(cnt[ransomNote[i]-'a'] < 0 ) {return false;}}return true;}
};
http://www.lryc.cn/news/597802.html

相关文章:

  • MCU芯片AS32S601在卫星光纤放大器(EDFA)中的应用探索
  • Github上传文件流程图
  • mysql中ROW_NUMBER()、RANK()、DENSE_RANK()用法及区别
  • SpringBoot整合Langchain4j
  • ZKmall开源商城微服务架构实战:Java 商城系统的模块化拆分与通信之道
  • 开源的语音合成大模型-Cosyvoice使用介绍
  • 【Linux庖丁解牛】— 信号量 !
  • Petalinux的常用指令
  • python3写一个异步流式 http 接口服务调用大模型(async, stream, sanic)---6.2
  • 若依前后端分离版学习笔记(二)——系统菜单介绍
  • 前端资源缓存优化案例:深入探讨 Nginx 配置中的 Cache-Control 头部叠加问题
  • 【科研绘图系列】R语言绘制黑白填充等显著性标记条形图
  • Java按模板导出Excel
  • Redis能完全保证数据不丢失吗?
  • 《WebGL与Three.js打造会“讲故事“的虚拟博物馆》
  • 氢气传感器在氢燃料电池中的应用与技术保障
  • 《狼道》:生存智慧与处世哲学
  • python 字符串常用处理函数
  • 判断矩形能否放入多边形内——cad c# 二次开发实现
  • docker的镜像与推送
  • 卡尔曼滤波数据融合
  • GaussDB null的用法
  • mac测试ollama llamaindex
  • c++--面向对象封装--实践
  • 【2025/07/23】GitHub 今日热门项目
  • git的使用,推送仓库github
  • 【数据结构】——时间与空间复杂度深度解析
  • 第一章:Go语言基础入门之Hello World与Go程序结构
  • 设置低秩适配器(LoRA)
  • 苍穹外卖DAY11