温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
那今天我们看一下这个第11题旋转数的最小数字。它是一个非递减的排列数组。通过这种旋转的方式。也就是把手相的。数字挪到末尾,依次旋转。那我们的思路可以直接便利。但是不是最优解,那我们用二分法会比较好一点。但是取中间值的时候需要注意一下,还有超时问题。那我们核心需要的是两个图标点。最低跟最高,还有中间的中止。那我们来做一下这道题。首先对这个数组做一下判空操作。那它这个长度如果是零的话,就直接给他返回题目要求的。呃,是零。那我们现在需要几个?临界值。首先最低点它是从零开始的。
01:02
还有最高点,它应该是整个数组的长度。呃,他需要在一个范围内。保证。我们。整个计算没有问题。有这些限制条件,我们现在要求的是一个中值的主焦点。假设他叫PR。啊C会比较好一点。Center。那我们。一定要注意它这个求中值的时候,前面要加一个。起始位置,要不然他算出来的中间位置之后迭代的时候。就不是当前门中间的位置。现在有了这个宗旨。
02:01
我们要做三次比较。那它会影响三种结果。首先是如果当前计算的中值。他。如果小于我们最高值。最高右边的临界点所指向的是。来写一下。首先,当前这个词。他如果小于。又临之前的是。那这个时候。我们需要。我们考虑到。比如说这种情况。但这个没有那么明显。大家可以想一想,就是他如果。左边还有比他更小的。对不对,所以我们需要把它这个右边最大值的临界点。重新指向,应该把这个。Hat的起始点。
03:02
从右向左移动,移动到他现在的中指位置。那另一种情况呢,就是相反。他如果。当前的这个终止。是大于右边的。这个。标志位的时候。这时候一定要注意,很容易出错,就是要把它左边的这个标识位。向右移动,但必须多往右移动一位,要不然他没有向前推进,这个体力就一直陷入一个。超时。然后最终一种情况呢,就是要把它相等的情况。那就一直把。右边标识位。简解。那所以我们最后返回的值是什么?是它最左边,最左边标识位的那个。
04:03
连接。列出我们的最小值,让我们来看一下。嗯。运行超市。如果等于零,感想哪里有问题?哦,哎,刚刚说这个地方一定要加一嘛,但是还是忘记加一,这个地方很容易超时。嗯。
我来说两句