LeetCode 154. 寻找旋转排序数组中的最小值 II

题目链接

154. 寻找旋转排序数组中的最小值 II

思路分析

剑指 Offer 11. 旋转数组的最小数字一样。

class Solution {
public:
    int findMin(vector<int>& nums) {
        std::ios::sync_with_stdio(false);
        int l = 0, r = nums.size() - 1;
        while(r > 0 && nums[r] == nums[0]) r--;
        if(nums[r] >= nums[0]) return nums[0];
        while(l < r){
            int mid = l + r >> 1;
            if(nums[mid] < nums[0]) r = mid;
            else l = mid + 1;
        }
        return nums[l];
    }
};
posted @ 2021-03-30 20:19  蒟蒻颖  阅读(11)  评论(0编辑  收藏  举报