public:
int minNumberInRotateArray(vector<int> rotateArray) {
int l=0,r=rotateArray.size()-1;
while(l<=r){
int mid=(l+r)/2;
//判断是向左还是向右
if(rotateArray[mid]<rotateArray[r]){
r=mid;
}
else if(rotateArray[mid]>rotateArray[r]){
l=mid+1;
}
else{
r--;//当数组全部相等,退化为O(n)
}
}
return rotateArray[l];
}
};