【力扣】赎金信

news2024/12/23 14:30:01

 🔥博客主页: 我要成为C++领域大神
🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】
❤️感谢大家点赞👍收藏⭐评论✍️

本博客致力于知识分享,与更多的人进行学习交流

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

哈希数组

思路

判断一个元素是否在另外一个集合中出现,很容易想到哈希表。

由于题目说了字符串只有小写英文字母组成,所以可以使用数组作为哈希表,长度是26。遍历magazine字符串,对应哈希表下标位置加1。然后再遍历ransomNote,对应哈希表下标位置减1,如果在这个过程中出现哈希表元素为负数,则说明出现了在ransomNote中出现,magazine中未出现的字符。

代码实现

class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        int length=magazine.size();
        vector<int> Mag(26,0);
        for(char letter:magazine)
        {
            Mag[letter-'a']++;
        }
        for(char letter:ransomNote)
        {
            if(--Mag[letter-'a']<0)
                return false;
        }
        return true;
    }
};

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

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

相关文章

商家转账到零钱开通教程及辅助开通手段详解

商家转账到零钱申请可以通过商家自行申请或者辅助开通手段代申请两种方式&#xff0c;如果自行申请难以过审&#xff0c;辅助开通代申请则成为降低商家时间成本和商户号风险的必要手段&#xff0c;以下从自助申请和辅助开通两种方式说说商家转账到零钱高效开通办法。 自行申请方…

产品经理-对产品经理的认识(1)

今天跟大家聊一下产品经理这个岗位的,产品经理是互联网岗位当中比较火的一个岗位,也是最接近CEO的岗位 产品经理岗位&#xff0c;技术门槛低&#xff0c;薪水和前景都很不错&#xff0c;又处于团队的核心位置 产品经理岗位没有完全相关的专业设置和清晰的学习路径&#xff0c;绝…

【C语言】文件的顺序读写

©作者:末央&#xff06; ©系列:C语言初阶(适合小白入门) ©说明:以凡人之笔墨&#xff0c;书写未来之大梦 目录 前言字符输入输出函数 - fgetc和fputc文本行输入输出函数 - fgets和fputs格式化输入输出函数 - fscanf和fprintf 前言 对文件数据的读写可以分为顺序…

10.优化算法之字符串

1.最长公共前缀 14. 最长公共前缀 - 力扣&#xff08;LeetCode&#xff09; class Solution {public static String longestCommonPrefix(String[] strs) {if(strsnull||strs.length0){return "";}int lengthstrs.length;for(int i0;i<strs[0].length();i){//第一…

FMEA培训如何助你成为工作领域的“稳中求胜”高手

在竞争激烈的职场环境中&#xff0c;每个人都渴望掌握一门能够让自己脱颖而出的技能。而FMEA&#xff08;失效模式与影响分析&#xff09;正是这样一门强大的工具&#xff0c;它不仅能够帮助我们识别并预防潜在的问题&#xff0c;还能提升工作效率&#xff0c;确保项目的顺利进…

从BeanFactory源码看Bean的生命周期

下图是我搜索“Spring Bean生命周期”找到的图片&#xff0c;来自文章——Spring Bean的生命周期 [](https://img2022.cnblogs.com/blog/1942408/202207/1942408-20220713150530777-1198523052.png) 下面&#xff0c;我们从AbstractAutowireCapableBeanFactory的源码中来分析…

无偏归一化自适应心电ECG信号降噪方法(MATLAB)

心电信号作为一种生物信号&#xff0c;含有大量的临床应用价值的信息&#xff0c;在现代生命医学研究中占有重要的地位。但心电信号低频、低幅值的特点&#xff0c;使其在采集和传输的过程中经常受到噪声的干扰&#xff0c;使心电波形严重失真&#xff0c;从而影响后续的病情分…

无人机企业需要什么资质?

无人机企业所需的资质主要可以分为几大类&#xff0c;以确保其合法、安全、高效地进行相关业务活动。以下是对这些资质的详细解释和归纳&#xff1a; 1. 基础企业资质&#xff1a; - 工商营业执照&#xff1a;这是企业合法经营的基本证书&#xff0c;所有企业都需要取得。无人…

查询 条件列值用notepad++批量添加单引号和逗号

参考&#xff1a;Notepad批量添加引号_notepad字符串统一加引号-CSDN博客 我需要批量修改数据表中某一列值指定的部分列&#xff0c;比如某个编号为CP0408242321001到CP0408242321101的条件。 我从数据表中把这个条件的所有编号复制出来了粘贴到了notepad里面。 如下图所示 从…

Softmax作为分类任务中神经网络输出层的优劣分析

Softmax作为分类任务中神经网络输出层的优劣分析 在深度学习领域&#xff0c;Softmax函数作为分类任务中神经网络的输出层&#xff0c;被广泛应用并展现出强大的优势。然而&#xff0c;任何技术都有其两面性&#xff0c;Softmax函数也不例外。本文将从多个角度深入分析Softmax…

大型语言模型的长期记忆能力--HippoRAG

在人工智能领域&#xff0c;特别是自然语言处理&#xff08;NLP&#xff09;中&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的长期记忆能力一直是研究的热点和难点。人类大脑能够在不断变化的环境中存储和更新大量知识&#xff0c;而现有的LLMs在预训练后整合新经验时…

高考志愿填报,优先选专业还是选学校?

高考后的学生&#xff0c;都会纠结选专业还是选学校了&#xff0c;这应该是每年都会出现的情况&#xff0c;其实专业和学校的关系就有点像是蛋糕和餐厅的关系&#xff0c;你到底想选一个美味的蛋糕还是选一个更好的餐厅呢&#xff1f;从某个角度来说&#xff0c;其实不管专业还…

QT学习积累——如何提高Qt遍历list的效率

目录 引出Qt遍历list提高效率显示函数的调用使用&与不使用&除法的一个坑 总结自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自定义信号重载带参数的按钮触发信号触发信号拓展 lambda表达式返回值mutable修饰案例 引出 QT学习积累——如何提高Qt遍历list…

【文末赠书13】推荐系统中冷启动环节的设计实现

【文末赠书13】《智能网联汽车&#xff1a;激光与视觉SLAM详解》 写在最前面写在最前面推荐系统中的冷启动1、用户冷启动2、物料冷启动3、PID算法 《推荐系统全链路设计&#xff1a;原理解读与业务实践》内容简介&#xff1a; &#x1f308;你好呀&#xff01;我是 是Yu欸 &am…

PHP语言学习02

好久不见&#xff0c;学如逆水行舟&#xff0c;不进则退&#xff0c;真是这样。。。突然感觉自己有点废。。。 <?php phpinfo(); ?> 新生第一个代码。 要想看到运行结果&#xff0c;打开浏览器&#xff08;127.0.0.1/start/demo01.php&#xff09; 其中&#xff0c…

WPF布局控件

目录 Grid StackPanel WrapPanel DockPanel UniformGrid Canvas&InkCanvas Canvas InkCanvas Border Grid 属性 ShowGridLines&#xff1a;显示边线 ColumnDefinitions 列集合 表示有几列下面就写几个ColumnDefinition Width 宽&#xff1a;如果写具体数字则表…

智能井盖监测系统:守护城市安全的新防线

​ ​​在快速发展的现代都市中&#xff0c;井盖作为连接地上与地下世界的“隐形门”&#xff0c;其安全状态直接关系到市民的生命财产安全。随着物联网、大数据及人工智能技术的飞速发展&#xff0c;智能井盖监测系统的出现为解决传统井盖管理难题提供了创新方案&#xff0…

给小程序接入AI服务之后,我的睡后收入又增加了

自从本人写了《[从零开始三天学会微信小程序开发]》教程以来&#xff0c;不断有人加我&#xff0c;一起交流微信小程序开发的事情&#xff0c;很让人开心。 也有一些人和我说&#xff0c;现在已经是AI时代了&#xff0c;怎么还用这种固定内容的模式呢&#xff1f;确实是的&…

ROS2使用Python开发动作通信

1.创建接口节点 cd chapt4_ws/ ros2 pkg create robot_control_interfaces --build-type ament_cmake --destination-directory src --maintainer-name "joe" --maintainer-email "1027038527qq.com" mkdir -p src/robot_control_interfaces/action touch…

STM32自己从零开始实操08:电机电路原理图

一、LC滤波电路 其实以下的滤波都可以叫低通滤波器。 1.1倒 “L” 型 LC 滤波电路 1.1.1定性分析 1.1.2仿真实验 电感&#xff1a;通低频阻高频的。仿真中高频信号通过电感&#xff0c;因为电感会阻止电流发生变化&#xff0c;故说阻止高频信号 电容&#xff1a;隔直通交。…