class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        if(rotateArray.size() == 0) return 0;
        int left = 0;
        int right = rotateArray.size()-1;
        while(left < right){
            if(rotateArray[left] < rotateArray[right]) return rotateArray[left];
            int mid = (left + right)/2;
            if(rotateArray[mid] > rotateArray[left]){
                left =  mid + 1;
            }else if(rotateArray[mid] < rotateArray[left]){
                right = mid;
            }else {
                left++;
            }

        }
        return rotateArray[left];
    }
};