 # Two Sum Program Solution

Two Sum Leetcode Program Solution in C++ Java & Python

Given an array of integers `numbers` and an integer `target`, return indices of the two numbers such that they add up to `target`. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order.

We at gradjobopenings.com provide free job alerts of freshers job drives. In this website we list on campus job openings for freshers and off campus job openings for freshers and also work from home job openings. This is the best website to apply for off campus drive in India. Visit our website for government job alerts and private job alerts. We also list free interview notes and study materials, one of the best interview study website.comfortable to face the interviews:

Example 1:

```Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums + nums == 9, we return [0, 1].
```

Example 2:

```Input: nums = [3,2,4], target = 6
Output: [1,2]
```

Example 3:

```Input: nums = [3,3], target = 6
Output: [0,1]
```

Constraints:

• `2 <= nums.length <= 104`
• `-109 <= nums[i] <= 109`
• `-109 <= target <= 109`
• Only one valid answer exists.

Time Complexity: O(n)

Space Complexity: O(n)

### Two Sum Leetcode Program Solution in C++

``````class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> numToIndex;

for (int i = 0; i < nums.size(); ++i) {
if (numToIndex.count(target - nums[i]))
return {numToIndex[target - nums[i]], i};
numToIndex[nums[i]] = i;
}

throw;
}
};
``````

### Two Sum Leetcode Program Solution in Java

``````class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> numToIndex = new HashMap<>();

for (int i = 0; i < nums.length; ++i) {
if (numToIndex.containsKey(target - nums[i]))
return new int[] {numToIndex.get(target - nums[i]), i};
numToIndex.put(nums[i], i);
}

throw new IllegalArgumentException();
}
}
``````

### Two Sum Leetcode Program Solution in Python

``````class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
numToIndex = {}

for i, num in enumerate(nums):
if target - num in numToIndex:
return numToIndex[target - num], i
numToIndex[num] = i
``````