public static void main(String[] args) {
// int[] nums = {2, 7, 11, 15};
// int target = 9;
int []nums = {3, 2, 4};
int target = 6;
int[] indexs = twoSum(nums, target);
System.out.println(Arrays.toString(indexs));
}
public static int[] twoSum(int[] nums, int target) {
/**
* 暴力解法
*/
// for (int i = 0; i < nums.length; i++) {
// for (int j =i+1; j < nums.length; j++) {
// if (nums[i] + nums[j] == target) {
// return new int[]{i,j};
// }
// }
// }
// return null;
/**
* 哈希表
*/
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int temp = target - nums[i]; // qiu cha
if (map.containsKey(temp)) {
return new int[]{map.get(temp), i};
}
map.put(nums[i], i);
}
return new int[0];
}