importjava.util.Arrays;importjava.util.HashMap;classScratch{publicstaticvoidmain(String[] args){int[] ints =newScratch().twoSum(newint[]{3,4,4,2,1},8);System.out.println(Arrays.toString(ints));}publicint[]twoSum(int[] numberList,int targetNumber){HashMap<Integer,Integer> numberIndexMap =newHashMap<>();for(int i =0; i < numberList.length; i++){if(numberIndexMap.containsKey(targetNumber - numberList[i])){returnnewint[]{numberIndexMap.get(targetNumber - numberList[i]), i};}else{
numberIndexMap.put(numberList[i], i);}}thrownewRuntimeException("no two sum to the target");}}