P127. 旋转有序数组的最小值

https://algocasts.io/episodes/q2m5w5pz

@Hawstein 站主的题解是不是有疏漏的地方?

给定递增排序数组 {0,1,1,1,1}的旋转数组 {1,1,1,0,1}
low, high, mid 下标均同时指向同一数值 1
按照代码逻辑走 high = mid,直接就错过了最小值 0

@archy.shawn

题目描述中已经说了数组中不包含重复数字 ,所以是没有问题的。

老哥你好,我在这个代码的时候遇到了点问题:

if (nums[mid] > nums[high]) low = mid + 1;
这行的作用是移动指针,使得[left,right] 能把最小值给包括进去

但是当我试图用:
if (nums[low] > nums[mid]) low = mid + 1;
按照语句的含义来看,应该跟第一种写法是一样的,但是出现的结果却不一样,这是为什么?

@Yifu_Chen

你说那两条判断语句,是完全不一样的。 你可以自己举个例子再试试看。