a+b=target
遍历数组 当前值为 a 查询数组中是否存在 b=target-a 存在就返回两个的索引
语言: JavaScript
var twoSum = function(nums, target) {
for(let i=0;i<nums.length;i++){
var index=nums.indexOf(target-nums[i]);
if(index>-1&&index!=i){
return [i,index]
}
}
};
或者用 hash 表保存缺少的值(速度快):
var twoSum = function(nums, target) {
let m=new Map();
for(let i=0;i<nums.length;i++){
if(m.has(target-nums[i]))
return [m.get(target-nums[i]),i];
else m.set(nums[i],i);
}
};