I am trying to solve this problem:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
and this is my implementation:
public int[] twoSum(int[] numbers, int target) {
Map<Integer, Integer> numbersMap = new HashMap<Integer, Integer>();
int[] requiredNumbers = null;
int index = 0;
for (int number : numbers) {
if (numbersMap.containsKey(target - number)) {
requiredNumbers = new int[2];
requiredNumbers[0] = numbersMap.get(target - number);
requiredNumbers[1] = index;
return requiredNumbers;
} else {
numbersMap.put(number, index);
index++;
}
}
return requiredNumbers;
}
How can I improve its execution time?