Solution 1One Pass Hash

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        visited = {}
        for i,num in enumerate(nums):
            if target - num in visited: return [i,visited[target-num]]
            visited[num] = i
Leet Code/python.py · L91–97
public int[] twoSum(int[] nums, int target) {
    Map<Integer, Integer> prev = new HashMap<>();
    for (int i=0; i<nums.length; i++) {
        int need = target-nums[i];
        if (prev.containsKey(need)) {
            return new int[] { prev.get(need) , i};
        }
        prev.put(nums[i], i);
    }
    return null;
}
Leet Code/java.java · L33–44