【LeetCode】852. 山脈陣列的峰頂索引
阿新 • • 發佈:2018-12-14
我們把符合下列屬性的陣列 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] 給定一個確定為山脈的陣列,返回任何滿足 A[0] < A[1] < … A[i-1] < A[i] > A[i+1] > … > A[A.length - 1] 的 i 的值。
示例 1:
輸入:[0,1,0] 輸出:1
示例 2:
輸入:[0,2,1,0] 輸出:1
提示:
3 <= A.length <= 10000 0 <= A[i] <= 10^6 A 是如上定義的山脈
class Solution { public: int peakIndexInMountainArray(vector<int>& A) { int left = 0; int right = A.size()-1; int res = redo(A,left,right); return(res); } int redo(vector<int>& A,int left,int right) { int res; int m = (left + right)/2; if (A[m-1] > A[m]) res = redo(A,left,m); else if (A[m] < A[m+1]) res = redo(A,m,right); else res = m; return(res); } };