【发布时间】:2016-05-30 09:50:30
【问题描述】:
假设我有一个一维数组,我想找到峰值。与经典峰值查找的不同之处在于,我不仅需要检查其邻居,还需要检查n 左邻居和n 右邻居。例如我的数组如下:
[1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1]
还有n = 4。我需要检查每个长度为4 + 1 + 4 的子数组,看看中间元素是否为最大值。
情况:
[5,6,7,8,9,8,7,6,5], 9 是峰值。
但这听起来效率不高。那么有什么更好的解决方案呢?当我找到一个峰值时,我可以忽略我认为的下一个n 元素。
【问题讨论】: