162.寻找峰值
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-peak-element
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
/**
* 162. 寻找峰值
* 执行用时:0 ms,
* 内存消耗:38.1 MB,
*/
class Solution {
public int findPeakElement(int[] nums) {
int left = 0;
int right = nums.length - 1;
int mid = 0;
while (left < right) {
mid = left + (right - left) / 2;
if (mid == 0 && nums[mid] > nums[mid + 1] ||
mid == nums.length - 1 && nums[mid] > nums[mid - 1] ||
nums[mid] > nums[mid + 1] && nums[mid] > nums[mid - 1]) {
return mid;
}
if (nums[mid] > nums[mid + 1]) {
right = mid;
} else {
left = mid + 1;
}
}
return left;
}
}