LeetCode 383. Ransom Note
2016-09-23 23:41
309 查看
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.
好多天没写代码了,这样不行啊。。。
简单题,用哈希可以解决,O(n);
bool canConstruct(char* ransomNote, char* magazine) {
int m[26] = {0};
int r[26] = {0};
int i;
for(i = 0; magazine[i] != '\0'; i ++){
m[magazine[i] - 'a'] ++;
}
for(i = 0; ransomNote[i] != '\0'; i ++){
r[ransomNote[i] - 'a'] ++;
}
for(i = 0; i < 26;){
if(r[i]){
if(m[i]){
m[i] --;
r[i] --;
}else
return false;
}
if(!r[i]) i ++;
}
return true;
}
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
好多天没写代码了,这样不行啊。。。
简单题,用哈希可以解决,O(n);
bool canConstruct(char* ransomNote, char* magazine) {
int m[26] = {0};
int r[26] = {0};
int i;
for(i = 0; magazine[i] != '\0'; i ++){
m[magazine[i] - 'a'] ++;
}
for(i = 0; ransomNote[i] != '\0'; i ++){
r[ransomNote[i] - 'a'] ++;
}
for(i = 0; i < 26;){
if(r[i]){
if(m[i]){
m[i] --;
r[i] --;
}else
return false;
}
if(!r[i]) i ++;
}
return true;
}
相关文章推荐
- 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
- Leetcode 383. Ransom Note 构造字符串 解题报告
- 【Leetcode】383. Ransom Note
- [LeetCode] 383. Ransom Note
- Leetcode383. Ransom Note
- LeetCode - 383. Ransom Note
- leetcode 383. Ransom Note HashMap 统计字符 + HashMap
- 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 勒索信