Two Sum Solution — [Leetcode — Hashmap]

Solution of two sum Leetcode problem in python
from typing import List
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
values = {}
for idx, value in enumerate(nums):
if target - value in values:
return [values[target - value], idx]
else:
values[value] = idx
Explanation
values = {}
Create an empty dictionary called values. This dictionary will store the numbers from the input list along with their indices.
for idx, value in enumerate(nums):
Iterate over the input list nums using the enumerate function. This function returns a tuple containing the index of the current element and the element itself.
if target - value in values:
return [values[target - value], idx]
Check if the difference between the target value and the current value is in the values dictionary. If it is, that means there exists a pair of numbers that add up to the target value. Return a list containing the indices of these two numbers, which are stored in the values dictionary.
else:
values[value] = idx
If the difference between the target value and the current value is not in the values dictionary, store the value as a key in the values dictionary, and its corresponding index idx as the value for that key. This is done so that when we encounter a number later on in the list that can add up with the current number to the target, we can easily retrieve its index using the values dictionary.