[LeetCode]题解(python):153-Find Minimum in Rotated Sorted Array

题目来源:

  https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/


题意分析:

  在一个不重复的翻转的数组里面找到最小那个。例如:4 5 6 7 0 1 2,最小是0.


题目思路:

  这里可以利用二分的方法去找最小的值。


代码(python):

class Solution(object):
    def findMin(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        size = len(nums)
        if size == 1:
            return nums[0]
        if size == 2:
            return min(nums[0],nums[1])
        mid = size // 2
        if nums[mid - 1] > nums[mid]:
            return nums[mid]
        if nums[mid] < nums[-1]:
            return self.findMin(nums[:mid + 1])
        return self.findMin(nums[mid:])
View Code
原文地址:https://www.cnblogs.com/chruny/p/5478416.html