题目描述
题目.png解题思路
借助哈希表,将数组元素的值和索引传入map的同时,计算target-nums[i],判断结果是否在map中,如果在则返回两个元素的索引。
java实现
class Solution{
public int[] twoSum(int[] nums,int target){
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<nums.length;i++){
int res=target-nums[i];
if(map.containsKey(res)){
return int[]{i,map.get(nums[i])};
}
else{
map.put(nums[i],i);
}
}
throw new IllegalArgumentException("no two sum solution");
}
}
网友评论