The two sum problem is a common coding challenge that involves finding two numbers in an array that add up to a specific target sum. This problem can be solved using a variety of algorithms and data structures, including brute force, hash tables, and sorting. In this blog, we will demonstrate how to solve the two sum problem using a hash table in Java.
Problem Statement: Given an array of integers, return the indices of the two numbers such that they add up to a specific target.
Search Keywords: two sum problem, Java, hash table, coding challenge, array of integers, target sum.
Solution:
- Create a hash table to store the elements of the array as keys and their indices as values.
- Loop through each element in the array, and calculate the difference between the target sum and the current element.
- Check if the difference is present in the hash table, and return the indices of the two elements if it is.
- If the difference is not present in the hash table, add the current element and its index to the hash table.
- If no two elements are found that add up to the target sum, return an error message.
Here is the implementation of the solution in Java:
csharpCopy codeclass Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[] { map.get(complement), i };
}
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution");
}
}
Explanation:
- We first create a hash table called
map
to store the elements of the array as keys and their indices as values. - In the for loop, we loop through each element in the array, and calculate the difference between the target sum and the current element.
- We use the
containsKey
method to check if the difference is present in the hash table. If it is, we return the indices of the two elements. - If the difference is not present in the hash table, we use the
put
method to add the current element and its index to the hash table. - If no two elements are found that add up to the target sum, we throw an error message using the
IllegalArgumentException
.
Conclusion:
The two sum problem is a common coding challenge that can be solved using various algorithms and data structures, including hash tables. By using a hash table, we can efficiently find the two numbers in an array that add up to a specific target sum. If you have any questions or feedback, feel free to leave a comment below.