题解 | #寻找峰值#解释r = m和l = m+1
寻找峰值
https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 */ int findPeakElement(vector<int>& nums) { int l = 0; int r = nums.size()-1; while (l<r) { int m = (l+r)/2; if (nums[m]>nums[m+1]) r = m;//r可能是峰值 else l = m+1; //l是上坡,l一定不是峰值 } return r; // write code here } };
理解清楚为什么r = m和l = m+1