two_sum

 1# @leet start
 2class Solution:
 3    def twoSum(self, nums: list[int], target: int) -> list[int]:
 4        indexes = {}
 5        for i, num in enumerate(nums):
 6            if num in indexes:
 7                return [indexes[num], i]
 8            else:
 9                indexes[target - num] = i
10        return [-1, -1]
11
12
13
14# @leet end
15sol = Solution()
16
17def test():
18    assert(sol.twoSum([2, 7, 11, 15], 9) == [0, 1])
19    assert(sol.twoSum([3, 2, 4], 6) == [1, 2])
20    assert(sol.twoSum([3, 3], 6) == [0, 1])
class Solution:
 3class Solution:
 4    def twoSum(self, nums: list[int], target: int) -> list[int]:
 5        indexes = {}
 6        for i, num in enumerate(nums):
 7            if num in indexes:
 8                return [indexes[num], i]
 9            else:
10                indexes[target - num] = i
11        return [-1, -1]
def twoSum(self, nums: list[int], target: int) -> list[int]:
 4    def twoSum(self, nums: list[int], target: int) -> list[int]:
 5        indexes = {}
 6        for i, num in enumerate(nums):
 7            if num in indexes:
 8                return [indexes[num], i]
 9            else:
10                indexes[target - num] = i
11        return [-1, -1]
sol = <Solution object>
def test():
18def test():
19    assert(sol.twoSum([2, 7, 11, 15], 9) == [0, 1])
20    assert(sol.twoSum([3, 2, 4], 6) == [1, 2])
21    assert(sol.twoSum([3, 3], 6) == [0, 1])