Leetcode每日一题2021/01/13

Leetcode每日一题2021/01/13_第1张图片
Leetcode每日一题2021/01/13_第2张图片

  • 问题
    对于情况分析应该有四种,借鉴题解如下:
    Leetcode每日一题2021/01/13_第3张图片
  • 参考:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/solution/er-fen-cha-zhao-wei-shi-yao-zuo-you-bu-dui-cheng-z/

明显向右边界的两个可归为一类,向左边界的可归为一类,那么判断条件就出来了。
Leetcode每日一题2021/01/13_第4张图片

  • 为什么和右边相比呢?
    5
  • 和左边比较呢?
    Leetcode每日一题2021/01/13_第5张图片
class Solution:
    def findMin(self, nums: List[int]) -> int:
        left, right = 0, len(nums) - 1
        while(left < right):
            mid = left + (right - left)//2
            if(nums[mid] > nums[right]):
                left = mid + 1
            else:
                right = mid
        return nums[left]

9
Leetcode每日一题2021/01/13_第6张图片

你可能感兴趣的:(Leetcode,leetcode,算法,python)