分析:这道题比较简单,实质上就是数字配对的过程。
public class TwoSum { public static void main(String[] args) { int[] parmas = {2, 7, 11, 15}; System.out.println(Arrays.toString(twoSum(parmas, 9))); } public static int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<Integer,Integer>(); int[] index = new int[2]; for (int i = 0; i < nums.length; i++) { if(!map.containsKey(nums[i])) { //存入计算值以及数组位置 map.put(target-nums[i], i); } else { //map中存在则配对成功,记录此时数组位置 index[0] = map.get(nums[i]); index[1] = i; } } return index; } }