gpt4 book ai didi

javascript - 返回一个与数组中当前数字不同的新数字

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

我有一个关于数组的问题,但我似乎无法解决。我想做的是返回不在数组内的数字返回只能如果新值不在数组内,否则它将增加值(以确保>没有空间)。

我的代码如下:

function create_number(number) {
var array = [1,2,3,6,7,8,9];
for (var i=0;i<array.length;i++) {
if (array[i] == number) {
return number;
} else {
// create a new number that is not inside the array, and return it.
}
// If not just do the loop again.
// If the loop is over, then just create a valid number
// that is not found inside the array.
}
}

最佳答案

var array = [1,2,3,6,7,8,9];
var number = 0;
while (true) {
if (array.indexOf(++number) == -1) {
array.push(number);
return number;
}
}

但是你需要将数组保存在某处

PS:Array.prototype.indexOf用于古代浏览器的填充程序(归功于@Lochemage)

PPS:上面的解决方案是O(N^2),只是为了好玩,这里是O(N)一(它需要数组 最初排序):

var array = [1,2,3,6,7,8,9];
var number = 1;
while (true) {
if (array[number - 1] != number) {
array.splice(number - 1, 0, number);
return number;
}
++number;
}

关于javascript - 返回一个与数组中当前数字不同的新数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346638/

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