classSolution {public:intfindPeakElement(vector<int>& nums) {int start=0, mid, end=nums.size()-1;int res =-1;while(start+1< end) { mid = start + (end-start)/2;if(nums[mid] >nums[mid-1] &&nums[mid] >nums[mid+1]) { res = mid;break; }elseif(nums[mid] >nums[mid+1]) {// there's a peak on the left end = mid; }else {// there's a peak on the left start = mid+1; } }if(res ==-1&&nums[start]>nums[end]) res = start;if(res ==-1&&nums[start]<nums[end]) res = end;if(res ==-1) res = start;return res; }};