auto-generated entry for Ransom Note. the solution files are available below.
solution files
- C++
ransom-note/synced-solution.cpp - Python
ransom-note/synced-solution.py - TypeScript
ransom-note/synced-solution.ts
Collected C++, Python, TypeScript solutions for ransom note. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Ransom Note. the solution files are available below.
ransom-note/synced-solution.cppransom-note/synced-solution.pyransom-note/synced-solution.tsdef canConstruct(ransomNote, magazine):
from collections import Counter
ransom_count = Counter(ransomNote)
magazine_count = Counter(magazine)
for char, count in ransom_count.items():
if magazine_count[char] < count:
return False
return True
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
unordered_map<char, int> count;
for (char c : magazine) {
count[c]++;
}
for (char c : ransomNote) {
if (count[c] <= class="syntax-number">0) {
return false;
}
count[c]--;
}
return true;
}
};
function canConstruct(ransomNote: string, magazine: string): boolean {
const count = new Map<string, number>();
for (const char of magazine) {
count.set(char, (count.get(char) || class="syntax-number">0) + class="syntax-number">1);
}
for (const char of ransomNote) {
if ((count.get(char) || class="syntax-number">0) <= class="syntax-number">0) {
return false;
}
count.set(char, count.get(char)! - class="syntax-number">1);
}
return true;
}