class Solution:
def findMin(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
# method one
# return min(nums)
# method two 二分法难点,在于左右节点和中间结点一样的时候,不知道最小值的区间
left , right = 0 , len(nums)-1
while left < right:
mid = left + (right - left) // 2
if nums[mid] == nums[right]: # 关键的去重,不能每次舍弃一半的元素,而只能逐个筛选
right -= 1
elif nums[mid] < nums[right]:
right = mid
else:
left = mid + 1
return nums[left]
leetcode 154 Find Minimum in Rotated Sorted Array II() python3 最简二分法(如何处理重复的数字)
猜你喜欢
转载自blog.csdn.net/huhehaotechangsha/article/details/80542133
今日推荐
周排行