leetcode 153.寻找旋转排序数组中的最小值(Java 二分查找 medium)
https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
此题就是把数组分成两段,每一段都升序,并且前一段数字大于后一段。利用二分查找,如果nums[mid]<=nums[h],h=mid,其他情况都是l=mid+1。
class Solution { public int findMin(int[] nums) { int l=0,h=nums.length-1; while(l<h){ int mid=l+(h-l)/2; if(nums[mid]<=nums[h]){ h=mid; }else{ l=mid+1; } } return nums[l]; } }