题解 | #和为S的两个数字#
和为S的两个数字
https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b
// 解题思路:使用hashmap
// 遍历数组,如果去map里面找互补的key
// 没找到则把当前的value插入map,value为key,index为value
// 找到了则是输出当前和在map中的value即可
// 注意边界情况:比如数组为空,或者是没找到的
const map = {};
function FindNumbersWithSum(array, sum) {
// write code here
if (!array.length) return [];
for (let i = 0; i < array.length; i++) {
let key = sum - array[i];
console.log(key);
if (map[key]===undefined) {
map[array[i]] = i;
} else {
return [key, array[i]];
}
}
return [];
}
module.exports = {
FindNumbersWithSum: FindNumbersWithSum,
};

