旋转数组找最小值
旋转数组
[1,2,3,4,5,6,7,8] 经旋转得到 [4,5,6,7,8,1,2,3] ,他就是旋转数组
要求: 找到最小值,时间复杂度尽可能低
分析
如上,可以看到,旋转数组的第一个值可以将整个数组划分为两个部分,小于它的和大于等于它的,那么我们可以二分,找到的是大于等于首部的,就往右去搜索。找到小于首部的,就往左去搜索。
代码
1 | |
旋转数组找最小值
https://blog.wangxk.cc/2021/04/28/旋转数组找最小值/
[1,2,3,4,5,6,7,8] 经旋转得到 [4,5,6,7,8,1,2,3] ,他就是旋转数组
要求: 找到最小值,时间复杂度尽可能低
如上,可以看到,旋转数组的第一个值可以将整个数组划分为两个部分,小于它的和大于等于它的,那么我们可以二分,找到的是大于等于首部的,就往右去搜索。找到小于首部的,就往左去搜索。
1 | |