1. 程式人生 > >6 旋轉陣列的最小數字

6 旋轉陣列的最小數字

class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        int len = rotateArray.size();
        if(len == 0) return 0;
        int left = 0, right = len - 1;
        while(left < right){
            int mid = (left + right)/2;
            if(rotateArray[mid] > rotateArray[left]) left = mid;   //這樣可以保證最後剩下的兩個元素是前(left)大後(right)小的,最後執行以下left= left+1,left指向的就是最小值
else if(rotateArray[mid] < rotateArray[left]) right = mid; else left = left + 1; } return rotateArray[left]; } };