题解 | #旋转数组的最小数字#
旋转数组的最小数字
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]; } };