from typing import List class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(0, len(nums)): for j in range(i + 1, len(nums)): if nums[i] + nums[j] == target: return [i, j] class NeetCodeSolution: def twoSum(self, nums: List[int], target: int) -> List[int]: prevMap = {} # val -> index for i, n in enumerate(nums): diff = target - n if diff in prevMap: return [prevMap[diff], i] prevMap[n] = i s = Solution() print(s.twoSum([3, 4, 5, 6, 7], 7)) print(s.twoSum([4, 5, 6], 10)) print(s.twoSum([5, 5], 10))