# Two Sum Problem

**Objective: **Given an array of integers, and k. Write a program to find indexes of two elements in an array which sum is equal to K.

**Example:**

Given array: [5, 4, 7, 3, 9, 2], Sum = 13 Output: Found indexes are: 4 and 1 Given array: [1, 2, 3, 4, 5], Sum = 9 Found indexes are: 4 and 3 Given array: [1, 2, 3, 4, 5], Sum = 10 No indexes are found

**Approach:**

**Brute Force:** Use nested loops and all possible pairs in the array and check if pair sum is equal to K if found then print the indexes of the pair.

Time Complexity: O(N^{2})

**Better Solution: Use Map**

- Construct a map that stores the array element as key and its index as value.
- Iterate the array and for every element x-
- Calculate y = K-x.
- Check if y is present in the map,
- If yes then we have found the pair which sum to K. Get the index of y from the map and print it along with the index of x.
- If not then add x and its index into the map.

Time Complexity: O(N), Space Complexity: O(N)

**Complete Code:**

**Output:**

Given array: [5, 4, 7, 3, 9, 2], Sum = 13 Found indexes are: 4 and 1