Given two strings ransomNote
and magazine
, return true
if ransomNote
can be constructed from the letters in magazine
and false
otherwise.
Each letter in magazine
can only be used once in ransomNote
.
Assuming the answers align with common problem constraints:
ransomNote
and magazine
.ransomNote
, verify that the corresponding count in magazine
is at least as large.true
if all characters in ransomNote
are sufficiently available in magazine
, otherwise return false
.def canConstruct(ransomNote, magazine):
from collections import Counter
ransom_counter = Counter(ransomNote)
magazine_counter = Counter(magazine)
for char, count in ransom_counter.items():
if magazine_counter[char] < count:
return False
return True
ransomNote
and (m) is the length of magazine
.ransomNote
, which is (O(k)) where (k) is the number of unique characters in ransomNote
.Overall Time Complexity: (O(n + m))
This approach should be efficient for the input sizes generally considered in these types of problems.
Got blindsided by a question you didn’t expect?
Spend too much time studying?
Or simply don’t have the time to go over all 3000 questions?