-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path383. Ransom Note.txt
More file actions
29 lines (26 loc) · 1.11 KB
/
383. Ransom Note.txt
File metadata and controls
29 lines (26 loc) · 1.11 KB
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
des: xét xem kí tự trong magazine có thể xây dựng ransomNote không (mỗi kí tự chỉ được dùng 1 lần)
how: đọc cmt
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
unordered_map<char, int> charCount;
//đếm số lượng loại kí tự trong magazine
for (char c: magazine) {
//ví dụ tìm dc kí tự a => a = 1
//tiếp tục tìm dc a => a = 2
//giá trị này sẽ lưu trữ trong hashmap charcount
charCount[c]++;
}
//kiểm tra từng kí tự trong ransomNote
for (char c: ransomNote) {
//nếu kí tự đó không tồn tại hoặc có tồn tại nhưng đã hết số lượng thì return false
if (charCount[c] == 0) {
return false;
}
//nếu kí tự đó có tồn tại thì sử dụng 1 cái, lặp lại đến hết mảng
charCount[c]--;
}
//ko có vde gì thì ransomNote có thể được dựng bởi kí tự trong magazine
return true;
}
};