383. Ransom Note
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
counter = Counter(list(magazine))
for ch in ransomNote:
if ch in counter:
if counter[ch] == 0:
return False
counter[ch] -= 1
else:
return False
return Trueclass Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
r = Counter(ransomNote)
m = Counter(magazine)
for key, val in r.items():
if key not in m:
return False
if val > m[key]:
return False
return True時間複雜度 O(n)
空間複雜度 O(n)