题解 | #两数之和#
两数之和
https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f
通过构建 cost map=new Map();通过循环,map.has可知map集合里是否包含当前循环下target-numbers[i],如果包含,则赋值给 const ans=new Array(2)构建的新数组中;否则map.set(),加入map集合;
function twoSum(numbers, target) {
const ans = new Array(2);
// 用哈希表进行存储
let map = new Map();
for (let i = 0; i < numbers.length; i++) {
if (map.has(target - numbers[i])) {
ans[0] = map.get(target - numbers[i]) + 1;
ans[1] = i + 1;
} else {
map.set( numbers[i],i);
}
}
return ans;
}
module.exports = {
twoSum: twoSum,
};

