我们可以使用什么算法在随机生成的长度为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
}
Run Code Online (Sandbox Code Playgroud)