【哈希表】LeetCode 1. 两数之和
题目链接
思路
使用 HashMap
来存储每个元素的下标及其所需要加和的数,遍历数组,检查每个数是否在 HashMap
中有对应的加和数,如果没有则把该数也加入 HashMap
中。
代码
class Solution{
public int[] twoSum(int[] nums, int target){
HashMap<Integer, Integer> map = new HashMap<>();
int[] res = new int[2];
for(int i = 0; i < nums.length; i++){
int num = nums[i];
if(map.containsKey(num)){
res[0] = map.get(num);
res[1] = i;
break;
}else{
map.put(target - num, i);
System.out.println(map.get(target - num));
}
}
return res;
}
}