二分法。以右端点为对比目标
特殊情况 1 0 1 1 1  、 1 1 1 0 1  ,j --
返回值 : 一般是 j 下标的值,但 [1,2,2,2,2,2]  这种情况通过不了
class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        if(rotateArray.size() ==0) return 0;
        int n = rotateArray.size();
        int i = 0,j = n-1;
        while(i+1<j){
            int mid = i+(j-i)/2;
            if(rotateArray[mid]<rotateArray[j])    
                j = mid;
            else if(rotateArray[mid]==rotateArray[j]) //特殊情况
                j = j-1;
            else
                i = mid;
        }
        return min(rotateArray[i],rotateArray[j]);    //[1,2,2,2,2,2] 通过不了
    }
};