gpt4 book ai didi

javascript - 找到排序数组值之间的最大差异

转载 作者:搜寻专家 更新时间:2023-11-01 05:24:03 25 4
gpt4 key购买 nike

我有一个数组,看起来像这样......

var array = array(1,4,7,8,12,15);

数组中的值永远是整数,永远向上,也可以和前面一样,但至少不会变小。

现在我想遍历数组并找出哪个“步骤”之间有最大的区别,所以在我的例子中是数组键 4&5,因为从 8-12 == 4... 但它可能也会发生这将是具有相同值的多个步骤,假设我的数组是这样的..

var array = array(1,5,7,8,12,15);

那么它将是 0&1 和 4&5....

我正在寻找一个可以返回给我这个的函数...哦,它必须是 PureJs...

我希望有人能帮助我。

最佳答案

我不确定你到底想要什么。但是如果你想要最大的跳跃:

var max=0;
for (i=1; i<array.length; i++)
max = Math.max(max,array[i]-array[i-1]);

如果你想要这个最大跳跃发生的第一个位置:

var max=0;
var firstLoc=0;
for (i=1; i<array.length; i++)
{
curJump = array[i]-array[i-1];
if (curJump > max)
{
firstLoc = i;
max = curJump;
}
}

如果你想要跳转发生的最后位置:

var max=0;
var lastLoc=0;
for (i=1; i<array.length; i++)
{
curJump = array[i]-array[i-1];
if (curJump >= max)
{
lastLoc = i;
max = curJump;
}
}

如果你想要一个包含最大跳跃发生的所有位置的数组:

var max=0;
var locs = [];
for (i=1; i<array.length; i++)
{
curJump = array[i]-array[i-1];
if (curJump == max)
{
locs.push(i);
} else if (curJump > max)
{
locs = [i];
max = curJump;
}
}

关于javascript - 找到排序数组值之间的最大差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172024/

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