LeetCode 383. Ransom Note 题解(C++)
来源:互联网 发布:eviews8.0怎么导入数据 编辑:程序博客网 时间:2024/06/07 16:17
LeetCode 383. Ransom Note 题解(C++)
题目描述
- Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false.
示例
You may assume that both strings contain only lowercase letters.
canConstruct(“a”, “b”) -> false
canConstruct(“aa”, “ab”) -> false
canConstruct(“aa”, “aab”) -> true.
思路
- 首先创建一个长度为26的整数数组用于存储26个字母出现的次数;
- 之后对magazine数组进行遍历,记录每个字符出现的次数,若某字符出现,只需使该相应的数组位置的内容自加1;
- 再对ransomNote数组进行遍历,若某字符出现,使该对应的数组位置的内容自减1,若自减1后的结果小于0,则表示该字符在magazine中出现的次数比在ransomNote中出现的次数少,即返回false;
- 循环完毕返回true。
代码
class Solution{public: bool canConstruct(string ransomNote, string magazine) { int cNum[26] = {0}; for (int i = 0; i < magazine.length(); ++i) { cNum[magazine[i] - 'a']++; } for (int i = 0; i < ransomNote.length(); ++i) { cNum[ransomNote[i] - 'a']--; if (cNum[ransomNote[i] - 'a'] < 0) { return false; } } return true; }};
0 0
- LeetCode 383. Ransom Note 题解(C++)
- LeetCode 383:Ransom Note (c++)
- leetcode-383. Ransom Note
- [leetcode] 383. Ransom Note
- LeetCode 383. Ransom Note
- leetcode 383. Ransom Note
- leetcode 383. Ransom Note
- 383.[LeetCode]Ransom Note
- leetcode 383. Ransom Note
- leetcode 383. Ransom Note
- Leetcode 383. Ransom Note
- 【leetcode】383. Ransom Note
- Leetcode 383. Ransom Note
- LeetCode 383. Ransom Note
- [LeetCode]383. Ransom Note
- LeetCode 383. Ransom Note
- [LeetCode]--383. Ransom Note
- LeetCode 383. Ransom Note
- Android 优雅的为RecyclerView添加HeaderView和FooterView
- spring
- 常识
- Android开发之Hybrid开发
- Apache启动时无法加载php5apache2_2.dll解决办法
- LeetCode 383. Ransom Note 题解(C++)
- WindowsXP系统PHP+MYSQL环境的搭建详细图文教程
- 光标位置插入元素
- 在Windows x64位环境上搭建web.py+apache2.4+wsgi的网站
- 【商业思维】昔日盟友,美团、腾讯如今却渐行渐远
- http://blog.csdn.net/zdwzzu2006/article/details/6053006
- 提高在线教育质量的八种机器学习方法
- RPC 服务遇到的问题 hessian 远程服务
- [闲聊]随时汲取眼前所见色彩的蓝牙绘图笔ColorPillar