383. Ransom Note
来源:互联网 发布:多普达软件下载 编辑:程序博客网 时间:2024/06/06 08:58
Difficulty:easy
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.
Each letter in the magazine string can only be used once in your ransom note.
Note:
You may assume that both strings contain only lowercase letters.
canConstruct("a", "b") -> falsecanConstruct("aa", "ab") -> falsecanConstruct("aa", "aab") -> true解题思路:
题目要求找到从一个string类型的字符串变换到另一个string字符串,而要完成变换,只能是字符串增加一个字母,而不能是将一个字母变成另外一个,所以可以利用一个对应于字母的ASCII码表的数组,对于第一个字符串,进行一次循环,每次都将字母对应数组中位置的值增加一。之后在进行一次循环,将第二个字符串中的字母对应在数组中的位置减一。
完成操作后,如果数组中出现了正数,说明第一个字符串中某个字母比第二个字符串多,需要删去某个字母才能完成变换,所以是不可行的。
那么最终需要对数组处理的就是通过一次循环判断是否有正数出现。
代码如下:
class Solution {public: bool canConstruct(string ransomNote, string magazine) { char r;int arr[500];for(int i=0;i<500;i++) arr[i]=0;for(int i=0;i<ransomNote.size();i++) arr[ransomNote[i]]=arr[ransomNote[i]]+1;for(int i=0;i<magazine.size();i++) arr[magazine[i]]=arr[magazine[i]]-1;bool answer=true;for(int i=0;i<500;i++){if(arr[i]>0) answer=false;}return answer; }};
- leetcode-383. Ransom Note
- [leetcode] 383. Ransom Note
- LeetCode 383. Ransom Note
- 383. Ransom Note*
- 383. Ransom Note
- leetcode 383. Ransom Note
- leetcode 383. Ransom Note
- 383. Ransom Note
- 383.[LeetCode]Ransom Note
- 383. Ransom Note
- 383. Ransom Note【E】
- leetcode 383. Ransom Note
- 383. Ransom Note
- 383. Ransom Note
- leetcode 383. Ransom Note
- Leetcode 383. Ransom Note
- 【leetcode】383. Ransom Note
- Leetcode 383. Ransom Note
- c语言关键字
- POJ 1679 The Unique MST 最小代价生成树 次小代价生成树
- Android中的Adapter 详解(四)
- spring security 采用角色控制访问权限
- 网易0912 暗黑字符串
- 383. Ransom Note
- Poj-1741 Tree(树的点分治)
- 小程序3分钟跑最后一公里极速配送
- 文章标题 poj 1978 :Hanafuda Shuffle(模拟)
- JAVA内部类总结
- 操作系统的一些概念理解
- Git添加SSH Key
- 【斯坦福---机器学习】复习笔记之牛顿方法
- 机器学习中梯度下降法跟牛顿法的比较