class Solution {
public:
//二分法找峰值
int findPeakElement(vector<int>& nums) {
int sz = nums.size();
int l = 0, r = sz - 1;
while(l < r){
int mid = l + (r - l) / 2;
if(nums[mid] < nums[mid + 1]){
//mid确认不是峰值
l = mid + 1;
}
else{
//不能确认mid是不是峰值,所以不是mid-1
r = mid;
}
}
return l;
}
};
leetcode 162.寻找峰值 (二分查找)
于 2023-03-22 11:08:15 首次发布