gpt4 book ai didi

javascript - 如果总和等于目标,则返回数组索引的索引

转载 作者:行者123 更新时间:2023-12-01 03:27:39 24 4
gpt4 key购买 nike

我正在尝试使用 leetcode 为编码面试做好准备。在第一个问题中,我必须返回总和等于给定目标的数字的索引。我的结果满足 19 项测试中的 13 项。问题失败于

Input:
[3,3]. target=6
Output:
undefined
Expected:
[0,1]

有人可以给我提示我哪里失败了吗?

我的解决方案:

/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
for (var i=0; i< nums.length; i++)
{
for (var j=1; j< (nums.length-1); j++)
{
if ((nums[i]+nums[j]) == target)
{
var arr = [nums.indexOf(nums[i]), nums.indexOf(nums[j])];
arr.sort();
return arr;
}
}
}
};

最佳答案

当数组的长度为 2 时,您的内循环为: j=1; j < 1; j++

代码永远不会输入,因此不会返回任何内容。

只需更改循环顺序即可:

/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
for (var i=0; i< nums.length - 1; i++)
{
for (var j= i + 1; j < (nums.length); j++)
{
if ((nums[i]+nums[j]) == target)
{
return [i,j];
}
}
}
};
console.log(twoSum([3,3], 6));

关于javascript - 如果总和等于目标,则返回数组索引的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44731008/

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