题解 | #寻找峰值#
寻找峰值
https://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
问题:只要返回随便一个峰值的索引即可 nums[i] !== nums[i+1], 可以推出以x为参考点任何一边都可能存在峰值,有点类似爬坡 /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ function findPeakElement(nums) { // write code here let left = 0, right = nums.length - 1; while (left < right) { const mid = Math.floor(left + (right - left) / 2); // 上坡 if (nums[mid] > nums[mid + 1]) { if (mid === 0 || nums[mid - 1] < nums[mid]) { return mid; } right = mid; } else { left = mid + 1; } } return left; } module.exports = { findPeakElement: findPeakElement, };