把一个数组最开始的若干个元素搬到数组的末尾我们称之为数组的请旋转立方体。输入一个递增排序的数组的一个请旋转立方体输出请旋转立方体数组的最小元素。唎如数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个请旋转立方体,该数组的最小值为1
一看到排序数组,我们应该就要想到二分查找了这里也是,而且这里的请旋转竝方体点就是最小值的点
- 找到排序数组的中间位置如果中间位置的值比最右端的数据要大,则说明请旋转立方体点在中间位置的右边這里面有一系列证明正确性的知识,大家可以自行了解也可以举例子在验证
- 如果中间位置的值比最右边的值要小,则说明请旋转立方体點在中间位置的左边
- 最后一种就是中间位置的值与最右端的值相等这个时候两种情况都有可能,自行举例子所以只需要缩小搜索范围即可