改进 利用hashmap存储数组,key为数组值,value对对应的下标
public int[] twoSum(int[] nums, int target) { int[] ret = new int[2]; HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); for (int i=0, len=nums.length; i<len; i++) { if (!map.containsKey(target-nums[i])) { map.put(nums[i], i); } else { ret[0] = i; ret[1] = map.get(target-nums[i]); } } return ret; } // beats 45.40%