383. Ransom Note
2016-08-24 23:28
323 查看
1. 问题描述
Given an arbitrary ransom note string and another string containing letters from all the magazines, write afunction 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") -> false canConstruct("aa", "ab") -> false canConstruct("aa", "aab") -> true
Tags: String
2. 解题思路
3. 代码
class Solution { public: bool canConstruct(string ransomNote, string magazine) { std::map<char, int> m1; for (int i=0; i<magazine.size(); i++) { m1[magazine[i]]++; } std::map<char, int> m2; for (int i=0; i<ransomNote.size(); i++) { m2[ransomNote[i]]++; } if (m2.size() > m1.size()) { return false; } map<char, int>::iterator it = m2.begin(); map<char, int>::iterator itEnd = m2.end(); for (; it != itEnd; it++) { if (m1.count(it->first) == 0) { return false; } if (it->second > m1[it->first]) { return false; } } return true; } };
4. 反思
相关文章推荐
- 383. Ransom Note
- [leetcode] 383. Ransom Note 解题报告
- 383. Ransom Note--哈希的方法
- 383. Ransom Note
- [Leetcode] 383. Ransom Note 解题报告
- leetcode题解-58. Length of Last Word && 67. Add Binary && 383. Ransom Note
- 383. Ransom Note
- 383. Ransom Note
- 383. Ransom Note
- <LeetCode OJ> 383. Ransom Note
- 383. Ransom Note
- leetcode 383. Ransom Note 解题报告
- LeetCode 383. Ransom Note
- LeetCode 383. Ransom Note
- Leetcode- 383. Ransom Note(string)
- 383. Ransom Note
- 383. Ransom Note
- 383. Ransom Note
- LeetCode之路:383. Ransom Note
- 383. Ransom Note