# Solution for Leetcode1: Two Sum problem
# Time complexity: O(n) and Space complexity: O(n)
# n is the size of the input list, namely nums
"""
Given an array of integers nums and an integer target,
return indices of the two numbers such that they add up to target.
"""
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashmap = {}
for i in range(len(nums)):
complement = target - nums[i]
if complement in hashmap:
return [i, hashmap[complement]]
hashmap[nums[i]] = i