classSolution: deftwoSum(self, nums: List[int], target: int) -> List[int]: h = dict() for i inrange(len(nums)): n = nums[i] if target - n in h: return h[target-n], i h[n] = i
classSolution: defgroupAnagrams(self, strs: List[str]) -> List[List[str]]: h = dict() for s in strs: s_list = list(s) s_list.sort() ss = ''.join(s_list)
if ss notin h: h[ss] = list() h[ss].append(s) ans = [] for key in h: ans.append(h[key]) return ans
classSolution: deflongestConsecutive(self, nums: List[int]) -> int: nums = set(nums) ans = 0 for n in nums: if n - 1notin nums: max_length = 1 curr = n while curr + 1in nums: max_length += 1 curr += 1 ans = max(ans, max_length) return ans