何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:
首先,A.length >= 3
其次,在 0 < i < A.length - 1 条件下,存在 i 使得:
A[0] < A[1] <... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[A.length - 1]
方法1: 取中点mid和右边半部分的中点mid1, 如果 mid位置的值大于mid1处的值,mid一定位于最大值的右边;如果mid位置的值小于mid1处的值, mid一定位于最大值的左边。

方法2:三分:

方法三:比较mid和 mid+1处的值,判断是在最大值的左边或者右边

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
183文章
7642浏览量
144632 -
数组
+关注
关注
1文章
420浏览量
27114
发布评论请先 登录
相关推荐
热点推荐
有关图形最大值 提取问题
就是将x的值全部扫描到。需要的操作(不解的问题):再进行完成这些扫描之后会出来一个三维图(不用解释吧,可以在脑中想象一下)。问题来了,关键的步骤是要将这个三维图中的
发表于 02-06 15:59
怎么查找一个数组里面与最大值最近的极大值啊?
本帖最后由 唐少华 于 2017-2-20 11:32 编辑
labview怎么查找一个数组里面与最大值靠得最近的极大值啊?次大值好找
发表于 02-20 10:54
怎么在数组中查找最大值并返回其索引
你好,我有一个不同的大数组与实数。在那里我想找到我能用max() - 函数做的最大值。然后我想知道这个max-value在哪个索引处。目前我使用一个循环来比较每个
发表于 03-26 11:45
在FPGA上实现一个模块,求32个输入中的最大值和次大值
从算法本身来看,找最大值和次大值的过程很简单;通过两次遍历:第一次求最大值,第二次求次大值; 算法复杂度是O(2n)。FPGA显然不可能在一个
C 语言数组的基本结构
的元素 求数组中元素的最短距离 求两个有序数组的共同元素 求三个数组的共同元素 找出数组中唯一的重复元素 找出出现奇数次的元素 求
三相电流有效值和最大值关系
三相电流的有效值和最大值之间的关系,在正弦波交流电的情况下,是特定的。具体来说,三相正弦交流电中,每相电流的有效值(RMS,Root Mea

查找山脉数组最大值的三个方法
评论