class Solution {
public:
    int findMin(vector<int> &nums) {
        if (nums.empty()) return 0;
        int left = 0, right = nums.size() - 1, res = nums[0];
        while (left < right - 1) {
            int mid = left + (right - left) / 2;
            if (nums[left] < nums[mid]) {
                res = min(res, nums[left]);
                left = mid + 1;
            } else if (nums[left] > nums[mid]) {
                res = min(res, nums[right]);
                right = mid;
            } else ++left;
        }
        res = min(res, nums[left]);
        res = min(res, nums[right]);
        return res;
    }
};

相关文章:

  • 2022-12-23
  • 2021-08-26
  • 2021-07-12
  • 2021-08-27
  • 2021-08-01
  • 2021-06-04
  • 2022-01-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-21
  • 2022-02-23
  • 2022-02-23
  • 2022-01-21
  • 2021-10-31
相关资源
相似解决方案