classSolution{public:intfindPeakElement(vector<int>& nums){int l =0, r = nums.size()-1;while(l < r){int mid = l + r +1>>1;if(nums[mid]> nums[mid -1]) l = mid;else r = mid -1;}return r;}};
原题链接Note:二分,每次判断一下子是不是峰值,峰值在哪边就好了不过我们这里条件和变动要统一好,如果我们打算往右边找,就要让他和前一个去比,这样就不会越界代码如下:class Solution {public: int findPeakElement(vector<int>& nums) { int l = 0, r = nums.size() - 1; while(l < r){ int mid =