题解 | #和为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, };