我们可以使用什么算法在长度为 10 的随机生成值数组中找到局部最大值?
我目前的策略是将数组分成 3 份并找到每个子集数组的最大元素,但这不包括所有最大值。
理想情况下,我希望第一个点也被识别为局部最大值,而左起第三个红色不应该被标记为局部最大值。
最佳答案
只需遍历所有索引并将该元素与两边的两个元素进行比较,如果它在边缘则跳过检查。
伪代码:
for each index
if (index == 0 or array[index-1] < array[index])
and (index == array.length-1 or array[index+1] < array[index])
{
store index
}
关于arrays - 在值序列中找到局部最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23341602/