classSolution(object):defisAnagram(self, s, t):"""
:type s: str
:type t: str
:rtype: bool
"""iflen(s)!=len(t):returnFalse
res =[0]*26for i in s:
res[ord(i)-ord('a')]+=1for j in t:
res[ord(j)-ord('a')]-=1for k in res:if k !=0:returnFalsereturnTrue
classSolution(object):defintersection(self, nums1, nums2):"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
res =dict()
ans =[]for i in nums1:if res.get(i):
res[i]+=1else:
res[i]=1for j in nums2:if j in res.keys():
ans.append(j)
res.pop(j)return ans
classSolution(object):defget_sum(self, n):
total =0while n:
num = n %10
total += num **2
n = n //10return total
defisHappy(self, n):"""
:type n: int
:rtype: bool
"""
record =set()whileTrue:
n = self.get_sum(n)print(n)if n ==1:returnTrueif n in record:returnFalseelse:
record.add(n)
classSolution(object):deftwoSum(self, nums, target):"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""# 1.暴力解法# for i in range(len(nums)):# for j in range(i+1, len(nums)):# if nums[i] + nums[j] == target:# return [i, j]# 2.利用哈希表 降低了时间复杂度# record = dict()# for index, val in enumerate(nums):# if target - val not in record:# record[val] = index# else:# return [record[target-val], index]# 3.哈希表
res =dict()for i inrange(len(nums)):
rest = target - nums[i]if rest in res:return[i, res[rest]]else:
res[nums[i]]= i