题解 | #旋转数组的最小数字#
旋转数组的最小数字
https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba
import java.util.*; import java.util.ArrayList; public class Solution { public int minNumberInRotateArray(int [] array) { int l = 0, r = array.length-1; int res=Integer.MAX_VALUE; while(l<r) { int m = (l+r)/2; if(array[m] > array[r]) l=m+1; //m在左排序数组中,旋转点则在右排序数组中 else if(array[m] < array[r]) r=m; else r--; //无法判断,缩小范围 } return array[r]; } }