LeetCode 1 两数之和解法:
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<nums.length;i++){
int num2=target-nums[i];
if(map.containsKey(num2)){
return new int[]{map.get(num2),i};
}
map.put(nums[i],i);
}
throw new RuntimeException("No sum of 2 numbers equals target ");
}
}
这里要注意一下map 中key和value的分别放什么元素,key 应该放nums[]中的值,value放序号。