哈希表:
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
arr = [0] * 26
for i in range(len(s)):
arr[ord(s[i]) - ord("a")] += 1
for i in range(len(t)):
arr[ord(t[i]) - ord("a")] -= 1
for i in range(26):
if arr[i] != 0:
return False
return True
用库函数(建议不要用):
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
return list(set(nums1) & set(nums2))
哈希表:
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
hash1={}
hash2={}
res = []
for i,x in enumerate(nums1):
hash1[x]=1
for i,x in enumerate(nums2):
hash2[x]=1
for m in hash1:
for n in hash2:
if m==n:
res.append(m)
return res
三、383. 赎金信
哈希表:
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
a = Counter(ransomNote)
b = Counter(magazine)
arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for i in arr:
if a[i]<=b[i]:
continue
else:
return False
return True