【leetcode】寻找峰值 二分

发布时间:2024年01月22日

在这里插入图片描述

/**
 * @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重新赋值对左边/右边的数组做同样的操作直到找到峰值。

文章来源:https://blog.csdn.net/manerzi/article/details/135738360
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。