LeetCode--162. 寻找峰值(java)

在这里插入图片描述
根据二段性划分区间:
红区:满足nums[i] < nums[i + 1] 的区间
绿区:满足 nums[i] > nums[i + 1] 的区间
我们要找的就是绿区的左端点

class Solution {
    public int findPeakElement(int[] nums) {
    	if(nums == null || nums.length == 0) return -1;
    	int l = 0, r = nums.length - 1;
    	while(l < r) {
    		int mid = l + r >> 1;
    		if(nums[mid] > nums[mid + 1]) {//mid绿
    			r = mid;
    		}else {
    			l = mid + 1;
    		}
    	}
    	return l;
    }
}

在这里插入图片描述

发布了177 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/QinLaoDeMaChu/article/details/105414819
今日推荐