给定一个长度为n的升序序列,放入长度为n循环数组中,放入的开始位置不清楚,找出值为t开始的位置和结束的位置(下标从零开始)
给定一个经过旋转的升序数组,要求找到目标值 t
在数组中的开始位置和结束位置,若不存在则返回 -1 -1
。输入包含三个部分:数组长度 n
,长度为 n
的循环数组,以及目标值 t
。输出为两个整数,表示目标值的开始和结束位置的下标。
查找序列起点: 循环数组是一个有序序列的旋转版本,所以我们可以通过寻找数组中一个逆序的地方来确定这个序列的实际起点。在升序数组中,如果我们发现某个数比它前面的数要小,那么可以认为这个地方是数组的起点。
遍历查找目标值: