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