题解 | #寻找峰值#
寻找峰值
https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
题目 一题多解
官方 又是 二分的应用
最难得部分 还是 那个left right更新的比较逻辑地方。就是 nums[mid]< nums[mid+1]选用位置
```c++
class Solution {
public:
int findPeakElement(vector<int>& nums) {
// write code here
if(nums.size()==1)
return 0;
else{
int l =0 , r = nums.size()-1;
int mid =0;
while(l<r){
mid = l + ( (r-l)>>1);
//if( vector[mid])
//无序数据 到底和谁比较?
if(nums[mid]< nums[mid+1]){
l = mid+1 ; //往右边走:left bigger
}else{
r = mid; //right lower
}
}
return l;
}
}
};
```