题解 | #寻找峰值#
寻找峰值
http://www.nowcoder.com/practice/fcf87540c4f347bcb4cf720b5b350c76
```/**
*
*
* @param nums int整型一维数组
* @return int整型
*/
function findPeakElement( nums ) {
//只要想清楚:数值一直往上走就有波峰 这一点就可以很简单解决这个问题了
let [left , right] = [0 , nums.length]
while(left < right){
let mid = left + Math.floor((right - left) / 2)
// 当nums[mid] 小于 nums[mid + 1],证明mid右侧数值往上走,会遇见波峰,将left置为mid + 1,反之则right置为mid
// 当left与right位置重合时,既是峰值
if(nums[mid] < nums[mid + 1]) left = mid + 1
else right = mid
}
return left
}
module.exports = {
findPeakElement : findPeakElement
};