gpt4 book ai didi

javascript - 找到等于所需总和的两个数字

转载 作者:行者123 更新时间:2023-11-30 06:58:13 25 4
gpt4 key购买 nike

我参加了一次技术面试,其中一个问题是在数组中找到等于所需总和的两个数字。对于我的生活,我找不到解决方案。

var input = [3, 5, 7, 9, 4, 8, 5, 12, 4, 9, 16, 5];
var dSum = 28; // return would be [12,16]

最佳答案

使用Set(),在O(n) 中解决这个问题。方法很简单:

  • 取一个空集。对于 input 中的每个元素 e 检查:

    (a) 如果集合包含 sum - e 。如果是,则打印 (e, sum -e) 对。

    (b) 将 e 插入集合。

    尝试以下操作:

let input = [3, 5, 7, 9, 4, 8, 5, 12, 4, 9, 16, 5];
let dSum = 28;
let set = new Set();

for(item of input) {
let num = dSum - item;
if(set.has(num)) {
console.log(num + " " + item);
break;
}
set.add(item);
}

关于javascript - 找到等于所需总和的两个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51898883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com