题目链接:https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/description/
我的思路
经历了第34题的摧残后,这道题显得没有那么难了,拿到题目读了一下题意和要求后稍微调整了一下解法就顺利通过了,结果表现也还不错。但还是把这题记录下来,是其中有一个地方和34中不太一样,就是当nums[mid]<nums[r]时,应该将mid直接赋给r,而不是mid-1,解释:
因为在这里我们要找到的时最小值,nums[mid]<nums[r]可能会存在于下面的情况:…18…3,1,2…9…,此时l位于18处,r位于9处,mid指向1,而1的前面是3,1就是我们要找的最小值了,因此不能把此时mid这个位置的元素给排除掉(我们之前mid-1就是因为从mid起,包括mid在内的右边部分全部没用了,所以才这么赋值),此时mid指向的位置就是r的最小值了,区间不能再从右边往里面缩了,之后的判断操作也只能从左边开始缩区间
结果
0ms 100%, 17.63MB 94.39%