Minimum in Rotated Sorted Array

Minimum in Rotated Sorted Array_第1张图片

画图:

Minimum in Rotated Sorted Array_第2张图片

minimum肯定在右半部分最下面那个数。我们可以先取array最右边的数,然后跟middle 比,如果比middle大证明我们在右边,如果比middle小证明我们在左边。【这里不能取最左边的一开始,因为也许array 并没有rotated,一条直线】

在确认了是在哪一边以后,就好办了。

有一个base case吧:

if(num[mid] < num[mid-1])

Minimum in Rotated Sorted Array_第3张图片




9月7号看到一个更加牛逼的解。

重点1: 如果一个数组排好序了,第一个元素是会小于最后一个元素的。

接下来是找middle points。有四种情况。

Minimum in Rotated Sorted Array_第4张图片


Minimum in Rotated Sorted Array_第5张图片
Minimum in Rotated Sorted Array_第6张图片

你可能感兴趣的:(Minimum in Rotated Sorted Array)