Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
38 lines (36 loc) · 1.34 KB

File metadata and controls

38 lines (36 loc) · 1.34 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Source : https://leetcode.com/problems/ransom-note/
// Author : Hao Chen
// Date : 2016-08-24
/***************************************************************************************
*
* 
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.
*
* canConstruct("a", "b") -> false
* canConstruct("aa", "ab") -> false
* canConstruct("aa", "aab") -> true
***************************************************************************************/
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
unordered_map<char, int> m;
for(int i=0; i<magazine.size(); i++) {
m[magazine[i]]++;
}
for (int i=0; i<ransomNote.size(); i++) {
char c = ransomNote[i];
if (m[c] <=0 ) return false;
m[c]--;
}
return true;
}
};
Morty Proxy This is a proxified and sanitized view of the page, visit original site.