153. 寻找旋转排序数组中的最小值
最后更新于
最后更新于
https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
参考33. 搜索旋转排序数组
以下算法只对严格旋转(必须有断点,两段都升序,无重复,长度>2)序列有效,但对升序需要特殊处理(bug:对严格升序的序列,算法结果low=n-1)。 思路也很简单,即不断往断点处靠拢:
1.初始left=0,right=n-1
2.当left<=right时,每次计算中点,若nums[mid]在左分支,low=mid+1;否则high=mid-1
3.循环结束时,左断点为right,右断点为left
本题求最小值,因此返回右断点。求最大值则返回左断点。