要求:峰值是严格大于左右,边界也算,要O(logn)
思路:题目说了相邻两个数不相等。二分。如果nums[mid]<nums[mid+1]则峰值在右边
class Solution {
public:
int findPeakElement(vector<int>& nums) {
int l=0,r=nums.size()-1;
while(l<r){
int mid=(l+r)/2;
if(nums[mid]<nums[mid+1])l=mid+1;
else r=mid;
}
return l;
}
};