class Solution:
def isAnagram(self, s: str, t: str) -> bool:
if len(s) != len(t):
return False
dic = {}
for i in s:
dic[i] = dic.get(i,0) +1
for i in t:
dic[i] = dic.get(i,0) -1
for v in dic.values():
if v!=0:
return False
return True
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
dic = {}
result = []
if len(nums1) < len(nums2):
for i in nums1:
dic[i] = dic.get(i,0) + 1
for i in nums2:
if i in dic:
result.append(i)
del dic[i]
else:
for i in nums2:
dic[i] = dic.get(i,0) + 1
for i in nums1:
if i in dic:
result.append(i)
del dic[i]
return result
class Solution:
def isHappy(self, n: int) -> bool:
s = str(n)
num_list = []
while True:
count = 0
for i in s:
count += int(i) * int(i)
s = str(count)
if count == 1:
return True
elif count in num_list:
return False
else:
num_list.append(count)
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
dic = {}
for i in range(len(nums)):
if target - nums[i] in dic:
return [i,dic[target-nums[i]]]
dic[nums[i]] = i