- 使用HashMap的方式
- 注意containkey 的作用是,判断是否有 key为 target - nums[i] 的一项
- 如果有的话,则直接返回 其值(res.get(target - nums[i]))和 当下的 i
- 若没有 则将这个值作为key,当前的下标作为value,存入res中
- 二刷:map的添加方法是put
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> res = new HashMap<>();
for(int i = 0; i < nums.length; i++){
if(res.containsKey(target - nums[i])){
//如下get到的是 存储target - nums[i]时的 值,即此key对应的value即下标i
return new int[]{res.get(target - nums[i]), i};
}
res.put(nums[i], i);
}
return new int[0];
}
}