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

全部评论

相关推荐

08-27 12:02
已编辑
南京外国语学校 网络安全
再来一遍:实则劝各位不要all in华子,不要相信华为hr
点赞 评论 收藏
分享
迷茫的大四🐶:都收获五个了,兄弟那还说啥,不用改了,去玩吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务