#3839. 兔猫信奥学院的“旋转寻迹”
兔猫信奥学院的“旋转寻迹”
🏫 题目名称:兔猫信奥学院的“旋转寻迹”
🐰🐱 题目描述
兔猫信奥学院的魔法画廊里挂着一组神秘的“光之刻度”序列,它本来按升序排列,却在一次魔法实验中被逆转至未知的切点,使得整条刻度带绕了一圈。加菲老师提出挑战:
“给你这条被旋转过后的刻度带
nums
(原序严格升序且互不相同)和一个目标刻度target
,请你在 (O(\log n)) 时间内,快速定位到target
在画廊中的位置。如果不存在,就返回 (-1)。”
小兔小猫互相对望:“用二分法巧妙判断有序区间,就能在旋转中找回正确位置!”
📥 输入格式
第一行:两个整数 n, target
第二行:n 个整数 nums[i],表示被旋转后的刻度带
- (1 \le n \le 5000)
- (-10^4 \le nums[i] \le 10^4)
- 所有 nums[i] 互不相同
- 题目保证原序列在某个未知下标 k(0 ≤ k < n)处旋转
📤 输出格式
一个整数:target 在 nums 中的下标(0~n-1),不存在则输出 -1
💡 样例
样例 1
7 0
4 5 6 7 0 1 2
4
“0” 在第 4 个位置。
样例 2
7 3
4 5 6 7 0 1 2
-1
“3” 不在刻度带中。
样例 3
1 0
1
-1
仅有一个元素 1,目标 0 未出现。
📊 数据范围
- 数组长度 (n) 最多 5000。
- 元素取值范围 ([-10^4,,10^4])。
- 要求算法时间复杂度 (O(\log n))。