题解 | #旋转数组的最小数字#
旋转数组的最小数字
http://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba
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];
}
};
