题目链接:https://leetcode.com/problems/binary-search/
题目大概意思就是说 找出某个位置使得其左边递增同时其右边递减。
会有三种情况:
① A[mid-1] < A[mid] && A[mid] < A[mid+1]
② A[mid-1] > A[mid] && A[mid] > A[mid+1]
③ A[mid-1] < A[mid] && A[mid] > A[mid+1]
int peakIndexInMountainArray(int* A, int ASize) {
int ans,l,r,mid;
ans = l = 0;
r = ASize;
while(l < r){
mid = (l + r) / 2;
if(A[mid-1] < A[mid] && A[mid] < A[mid+1]){
l = mid;
}else if(A[mid-1] > A[mid] && A[mid] > A[mid+1]){
r = mid;
}else if(A[mid-1] < A[mid] && A[mid] > A[mid+1]){
ans = mid;
break;
}
}
return ans;
}