153. 寻找旋转排序数组中的最小值
1.题目
2.我的解决方案
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]: # 右半部分有序
right = mid
else: # 左半部分有序
left = mid + 1
return nums[left]
- 时间复杂度: O ( l o g n a ) O(logna) O(logna)
- 空间复杂度: O ( 1 ) O(1) O(1)