首页 > 代码库 > LeetCode 383 Ransom Note
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。