int findPeakElement(vector<int>& nums) {
if(nums.empty()) return -1;
int n = nums.size();
int left = 0,right = n-1,mid;
while(left<=right){
mid = left + (right-left)/2;
if((mid==0 || nums[mid] > nums[mid-1]) && (mid==n-1 || nums[mid] > nums[mid+1]))
return mid;
else if((mid==0 || nums[mid] > nums[mid-1]) && (mid==n-1 || nums[mid] < nums[mid+1]))
left = mid + 1;
else
right = mid - 1;
}
return -1;
}
162. 寻找峰值/C++
最新推荐文章于 2024-05-15 16:10:42 发布