代码语言:javascript复制
// 1.两数之和
// set 存每一位被需要的值,作为key , 值为当前位置的 index
// 然后继续遍历下一位,判断下一位是否就是已经存起来的被需要的值
// 如果是,则直接返回当时被需要时那一位的索引 及 当前索引
function sum(nums, target) {
let map = new Map();
for (let i = 0; i < nums.length; i ) {
if (map.get(nums[i])) {
return [map.get(nums[i]), i];
} else {
map.set(target - nums[i], i);
}
}
}
console.log(sum([1, 2, 3, 4], 6)); // [ 1, 3 ]
console.log(sum([1, 3, 3, 4], 6)); // [ 1, 2 ]