leetcode 1. Two Sum

203 阅读1分钟

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);
    }
};