LeetCode:162. 寻找峰值
两端是趋近于负无穷
可以理解成这是一条多极大值的线, 极大值就在单调性递增的一头.
AC Code
class Solution {
public int findPeakElement(int[] nums) {
int left = 0, right = nums.length - 1;
while(left < right) {
int mid = left + (right - left) / 2;
// 对于所有有效的 i 都有 nums[i] != nums[i + 1]
if(nums[mid] < nums[mid + 1]) {
left = mid + 1;
} else if(nums[mid] > nums[mid + 1]) {
right = mid;
}
}
return left;
}
}