1. 程式人生 > >劍指offer——(23)旋轉陣列的最小數字

劍指offer——(23)旋轉陣列的最小數字

參考牛友的題解 很清晰 我幾乎是照搬了!:https://www.nowcoder.com/questionTerminal/9f3231a991af4f55b95579b44b7a01ba 

AC程式碼: 

import java.util.ArrayList;
public class Solution {
    public int minNumberInRotateArray(int [] array) {
        if(array.length==0) return 0;
        int left = 0,right = array.length - 1;       
        while(left < right){
            int  mid = left + (right - left) / 2;
            if(array[mid] > array[right]){
                left = mid + 1;
            }
            else if(array[mid] == array[right]){
                right = right - 1;
            }
            else{
                right = mid;
            }
        }
        return array[left];
    }
}