如果以下属性成立,我们将数组A
称为山峰:
A.length >= 3
- 存在一些
0 < i < A.length - 1
这样的A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
鉴于一个绝对是一座山的阵列,返回任何 i
这样的 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
。
例1:
输入:[0,1,0]
输出:1
例2:
输入:[0,2,1,0]
输出:1
注意:
3 <= A.length <= 10000
0 <= A[i] <= 10^6
- A是一座山,如上所述
由于山峰阵列中数组数值为先递增后递减,所以当出现前一个值大于后一个值时,前一个值得下标索引即是峰值指数 public static int peakIndexArray(int [] A) { int peak=0,left=0,right=A.length-1; while (left<right) { if (A[left]>A[left+1]) { peak=left; break; } left++; } return peak; }