哈希表242|349|202|1
242有效的字母异位词
class Solution: def isAnagram(self, s: str, t: str) -> bool: record = [0] * 26 for i in s: index = ord(i) - ord('a') record[index] += 1 for i in t: index = ord(i) - ord('a') record[index] -= 1 for i in record: if i != 0: return False return True
349两个数组的交集
class Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: set1 = set(nums1) set2 = set(nums2) return list(set1 & set2)
202快乐数
class Solution: def isHappy(self, n: int) -> bool: ifExist = set() while n != 1: result = self.calSum(n) if result in ifExist: return False else: ifExist.add(result) n = result return True def calSum(self, n: int) -> int: result = 0 for i in str(n): result += int(i) ** 2 return result
1两数之和
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: my_dict = {} result = [] for i in range(len(nums)): if (target - nums[i]) in my_dict: result.append(i) result.append(my_dict[target - nums[i]]) return result else: my_dict[nums[i]] = i return result