首页 > 其他 > 详细

LeetCode 383 Ransom Note

时间:2016-10-26 13:34:33      阅读:177      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/VickyWang/p/5998925.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!