力扣算法两数之和
**思路:**创建hash表,尽量标明初始长度为数组长度减1,然后把数组中的值
作为key,数组的下标作为value存入hash表,然后遍历数组,看是否数组包
含有(target—遍历到的值),若有,则返回遍历到的值的value和数组包含
的值的value.
class Solution {
public int[] twoSum(int[] nums, int target) {
int length =nums.length;
Map<Integer,Integer> hashMap=new HashMap<>(length-1);
hashMap.put(nums[0],0);
for(int i=1;i<length;i++){
if(hashMap.containsKey(target-nums[i])){
return new int[]{hashMap.get(target-nums[i]),i};
}
hashMap.put(nums[i],i);
}
throw new IllegalArgumentException("No two sum solution");
}
}