二分思路,一个月前看答案做的,细节我自己也没抠太清楚
```python
class Solution:
def findMin(self, nums: List[int]) -> int:
if not nums: return None
l,r = 0,len(nums)-1
while l + 1 < r:
mid = (l + r) >> 1
# 第一种情况 左<中<右,说明区间内已经不含旋转点
if nums[l] < nums[mid] < nums[r]:
r = mid
else:
# 否则,区间内含有旋转点,需比较mid和left的关系
if nums[mid] < nums[l]:
r = mid
else:
l = mid
return min(nums[l],nums[r])
```