版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hsx1612727380/article/details/86216906
Title:Peak Index in a Mountain Array 852
Difficulty:Easy
原题leetcode地址: https://leetcode.com/problems/peak-index-in-a-mountain-array/
1. 二分法
时间复杂度:O(logn),一层while循环。
空间复杂度:O(1),没有申请额外空间。
/**
* 二分法
* @param A
* @return
*/
public static int peakIndexInMountainArray(int[] A) {
int low = 0;
int high = A.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (A[mid] > A[mid - 1] && A[mid] > A[mid + 1]) {
return mid;
}
else if (A[mid] > A[mid - 1] && A[mid] < A[mid + 1]) {
low = mid + 1;
}
else {
high = mid - 1;
}
}
return -1;
}