题解 | #寻找峰值#
寻找峰值
http://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int findPeakElement(vector<int>& nums) {
int left = 0;
int right = nums.size() - 1;
while(left<right){
int mid = left + (right-left)/2;
if(nums[mid]>nums[mid+1]){
right = mid;
} else{
left = mid + 1;
}
}
return left;
// write code here
}
};
二分查找,左闭右开,两端不可能为峰值
查看6道真题和解析