【leetcode】寻找峰值 二分

【leetcode】寻找峰值 二分_第1张图片

/**
 * @param {number[]} nums
 * @return {number}
 */
var findPeakElement = function(nums) {
    let lIndex=0;
    let rIndex=nums.length-1;
    let mid;
    while(lIndex<rIndex){
        mid=Math.floor((lIndex+rIndex)/2);
        if(nums[mid]>nums[mid+1]){
            rIndex=mid;
        }else{
            lIndex=mid+1;
        }
    }
    return lIndex;
};

现将数组二分法分成两部分,判断左边数组尾值和右边数组初值的大小,哪边大说明峰值一定在哪边,然后通过lindex或者rindex重新赋值对左边/右边的数组做同样的操作直到找到峰值。

你可能感兴趣的:(力扣,算法,leetcode,算法,职场和发展)