题目来源:
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:])