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