题目
给一个只循环递增一次的数组 res,res 满足首元素大于等于尾元素,形如:
4,5,6,7,2,4
再给出一个整型数字 num,将其插入到数组中应在的位置。
示例:
输入:
res = 4,5,6,7,2,4
num = 3
输出:
4,5,6,7,2,3,4
思路
用二分查找确定应该插入的位置,难点在于左右区间的建立。
如何建立左右区间?
首先明确两点,对于整个数组而言:
- 首元素一定
大于等于
尾元素
- 以数组的最大值为界限,最大值左边的元素一定
大于等于
右边的元素
用图像表示数组是这样的(黑色表下标,紫色表值):
我们可以看到,要插入的元素