gpt4 book ai didi

javascript - Javascript 中的两个 Sum Leetcode - 代码看起来正确,但 Leetcode 说它是错误的

转载 作者:行者123 更新时间:2023-11-28 11:43:56 28 4
gpt4 key购买 nike

我正在处理 'Two Sum' problem in Leetcode .

我确信这段代码是正确的,我已经在 Repl 中对其进行了测试,它看起来是正确的,但 Leetcode 给了我一个错误。

这是我的代码:

var arr = [];

var twoSum = function(nums, target) {
for(var i = 0; i < nums.length; i++){
for(var j = i+1; j < nums.length; j++){
console.log(nums[i] + ', ' + nums[j]);
var tot = nums[i] + nums[j];
if(tot === target){
arr.push(i,j);
console.log(arr);
return arr;
}
}
}
};

//var a = [2, 7, 11, 15];
//var b = 9;
var a = [2, 3, 4];
var b = 6;

twoSum(a, b);

我收到的错误如下:

Input:
[3,2,4]
6
Output:
[0,1,1,2]
Expected:
[1,2]

为什么需要[1, 2]?当然,在这种情况下应该期望 [0, 1] ,那么为什么我的代码会两次添加到 arr 数组中呢?对我来说这看起来像是一个错误...

注意:我看到 Leetcode 上有很多关于这个问题的帖子,但没有一个帖子解决了我在 Javascript 中遇到的具体问题。

最佳答案

Why is it expecting [1, 2]?

因为 2 + 4 = 6

Surely it should expect [0, 1] in this case

不,因为 3 + 2 = 5

and then why is my code adding to the arr array twice?

因为您在函数外部声明了数组。每次调用该函数时都会重复使用它。将数组声明移至您的 twoSum 函数中,甚至更好:只需返回 [i, j],而不是插入空数组。

关于javascript - Javascript 中的两个 Sum Leetcode - 代码看起来正确,但 Leetcode 说它是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57048231/

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