题解 | #两数之和#
两数之和
http://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f
/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
function twoSum( numbers , target ) {
// write code here
const ans = new Array(2);
let map = new Map();//借助哈希表进行存储数据
for(let i=0;i<numbers.length;i++){
//每次往哈希表存储都判断是否有满足number1+number2=target的元素,满足则输出,,不满足继续存储到哈希表
if(map.has(target-numbers[i])){
ans[0] = map.get(target-numbers[i])+1;
ans[1] = i+1;
break;
//注意:存储时元素为key值,对应数组中的索引值为value值
}else{
map.set(numbers[i],i);
}
}
return ans;
}
module.exports = {
twoSum : twoSum
}; 
