class Solution {
public int[] twoSum(int[] nums, int target) {
//设计一个hashmap
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int n = nums.length;
//循环遍历数组
for(int i = 0;i < n;++i) {
//如果 target 减去 遍历的这个数能够在hash表中可以找到
if(map.containsKey(target - nums[i])) {
//找到直接返回
return new int[] {map.get(target - nums[i]),i};
}
//找不到就把这个数加进去,如果有重复的,刚刚好可以去重
map.put(nums[i],i);
}
throw new IllegalArgumentException("not found");
}
}
LeetCode-06-1两数之和
最新推荐文章于 2024-05-20 18:16:07 发布