LeetCode 383 Ransom Note

Posted SillyVicky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 383 Ransom Note相关的知识,希望对你有一定的参考价值。

Problem:

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.

You may assume that both strings contain only lowercase letters.

canConstruct("a", "b") -> false
canConstruct("aa", "ab") -> false
canConstruct("aa", "aab") -> true

Summary:

 给出两个字符串r,m,判断r串能否由m串组成。即r串中的所有字母包含在m串中即可。

Analysis:

Hash表

 1 class Solution {
 2 public:
 3     bool canConstruct(string ransomNote, string magazine) {
 4         int magChar[26] = {0};
 5         int len = magazine.size();
 6         for (int i = 0; i < len; i++) {
 7             magChar[magazine[i] - a]++;
 8         }
 9         
10         len = ransomNote.size();
11         for (int i = 0; i < len; i++) {
12             if (--magChar[ransomNote[i] - a] < 0) {
13                 return false;
14             }
15         }
16         
17         return true;
18     }
19 };

以上是关于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