153. 寻找旋转排序数组中的最小值
2023/8/4小于 1 分钟
153. 寻找旋转排序数组中的最小值
中等解法一
class Solution:
def findMin(self, nums: List[int]) -> int:
left, right = 0, len(nums) - 1
while left < right:
mid = (left + right) // 2
if nums[mid] > nums[right]:
left = mid + 1
else:
right = mid
return nums[left]判断中间值与右边界:
- 如果中间值比右边界大,中间值在左侧递增部分,移动 left 指针
- 如果中间值比右边界小,右边严格单调递增,移动 right 指针