题目
一、大概思路
要么直接用两个for来写,要么用HashMap的containskey的方法来直接检查是否存在。
二、代码实现
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> hashmap = new HashMap<Integer, Integer>();
for(int i =0; i < nums.length ; i ++){
if(hashmap.containsKey(target - nums[i])){
return new int[]{hashmap.get(target - nums[i]), i};
}
hashmap.put(nums[i], i);
}
return new int[0];
}
}
注意这里的hashmap.put()得放在if之后,因为如果想得到的数字是12,而第一个数字又是6,containkey的方法就会搜索到他自己导致输出错误。
总结
没什么特别的