两数之和

两数之和 (opens new window)

核心思想,遍历一次数组的时候,用哈希表记录数字以及索引,遍历到新数字时,用目标值减去当前数字得到差值。在哈希表中查看差值是否存在,存在则直接返回。 由此实现一次遍历就可以返回结果。

var twoSum = function(nums, target) {
    const map = new Map()
    for (let i = 0; i < nums.length; i++) {
        let num1 = nums[i], num2 = target - num1
        if (map.has(num2)) {
            return [map.get(num2), i]
        } else {
            map.set(num1, i)
        }
    }
};
上次更新:: 2024/1/16 11:26:08