哈希
- 创建一个map
- 遍历数组,如果在map中找到target-numbers[I],则返回结果
- 否则,加入map中
注意:
map.get()
返回下标或者undefined
- 返回的是
[another+1,i+1]
而不是[i+1,another+1],比如[3,2,4],把2加入,把4加入找到了2, 因此返回的是[another+1,i+1]
function twoSum( numbers , target ) {
let map = new Map();
for(let i=0; i<numbers.length; i++){
let another = map.get(target-numbers[i])
if( another!=undefined){
return [another+1,i+1];
}
map.set(numbers[i],i);
}
}
module.exports = {
twoSum : twoSum
};