153.Find Minimum in Rotated Sorted Array

class Solution {
public:
    int findMin(vector<int> &num) {
        int left = 0, right = num.size() - 1;
        if (num[left] > num[right]) {
            while (left != (right - 1)) {
                int mid = (left + right) / 2;
                if (num[left] < num[mid]) left = mid;
                else right = mid;
            }
            return min(num[left], num[right]);
        }
        return num[0];
    }
};
posted @ 2019-04-10 10:55  JohnRed  阅读(63)  评论(0编辑  收藏  举报