153. Find Minimum in Rotated Sorted Array

25 年 8 月 26 日 星期二
129 字
1 分钟

153. Find Minimum in Rotated Sorted Array

Screenshot 2025-08-26 at 2.33.31 pm

总结:小于最后一个数,就是蓝色,否则是红色

image-20250826153405698
Screenshot 2025-08-26 at 3.38.11 pm
python
class Solution:
    def findMin(self, nums: List[int]) -> int:
        left = 0
        right = len(nums) - 2
        while left <= right:
            mid = (left + right) // 2
            v = nums[mid]
            # red: 最小值左侧
            # blue: 最小值及右侧
            if v < nums[-1]:
                # 一段递增数组或两段递增数组:右侧为蓝色
                right = mid - 1
            else:
                # v > nums[-1]
                # 两段递增数组:mid左侧染成红色
                left = mid + 1
        return nums[left]

文章标题:153. Find Minimum in Rotated Sorted Array

文章作者:Sirui Chen

文章链接:https://blog.siruichen.me/posts/153_find_minimum_in_rotated_sorted_array[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。