青海省导游词大全:关于数组的算法设计 请用c语言或c++语言编程。

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 15:30:12
假设给定N个互不相同数组成的数组,且数组中的这些数字序列是单峰的:存在下标i,满足序列A〔1....i〕递增,A〔j〕<A[j+1],对于1<=j<i-1,而序列A〔i...n〕 递减.下标i称为A的模式.试设计一算法在O(1bn)时间内找出A的模式.
可否详细解释一下呢? 可以用二分法处理吗?

就是找到那个最大值的下标吧?
int GetPeak(const int a[], const int n)
{
int i = 0;
while ( i < n && a[i] < a[i + 1] )
++i;
return i + 1;
}