leecode 162. 寻找峰值

方法三:迭代二分查找

    public int findPeakElement(int[] nums) {   //第二种方法不用左右加个边界
        return helper(nums, 0, nums.length-1);
    }
    public int helper(int[] nums, int left, int right){
        while(left<right){  //这没有==
            int mid = (left+right)/2;
            if(nums[mid]<nums[mid+1]){
                left = mid+1;
            }else{
                right = mid;      //这没有-1
            }
        }
        return left;
    }

 

posted @ 2021-04-14 16:58  kpwong  阅读(40)  评论(0编辑  收藏  举报