讨论/《零起步学算法》 - 练习:寻找旋转排序数组中的最小值/
《零起步学算法》 - 练习:寻找旋转排序数组中的最小值

python

class Solution(object):
    def findMin(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        left = 0  # 左测坐标
        right = len(nums) -1   # 右侧坐标

        while left < right:
            mid = left + (right-left)/2
            # 如中间坐标值小于右边界坐标值时,则将mid作为下次循环右边界值向左侧移动一位
            if nums[mid] < nums[right]:
                right = mid
            # 如中间坐标值大于右边界坐标值时,则将mid+1作为下次循环左边界值向右移动一位    
            else:
                left = mid + 1
        # left == right        
        return nums[left]
展开全部 4 讨论