#3835. 兔猫信奥学院的“起止之境”搜寻
兔猫信奥学院的“起止之境”搜寻
🏫 题目名称:兔猫信奥学院的“起止之境”搜寻
🐰🐱 题目描述
在兔猫信奥学院的图书阁里,加菲老师发现了一本记载海量魔法符文的手抄卷轴。这些符文编号按非递减顺序排列,每个编号都可能重复出现。为了检验小兔和小猫的技巧,加菲老师提出挑战:
“给你一个符文编号数组
nums
(非递减排序)和一个目标编号target
,请你找出符文在这卷轴中第一次和最后一次出现的位置。如果根本没有出现,就返回[-1, -1]
。记住,这个卷轴很长,你需要 \(O(\log n)\) 的方法快速定位。”
小兔微笑道:“二分法一定能帮我们迅速找到边界!”
小猫点头:“没错,咱们直接在左侧和右侧各找一次就好了~”
📥 输入格式
第一行:两个整数 n, target
第二行:n 个整数 nums[i],非递减排列
- \(0 \le n \le 10^5\)
- \(-10^9 \le \text{nums}[i] \le 10^9\)
- \(-10^9 \le \text{target} \le 10^9\)
📤 输出格式
两个整数 L, R
L 表示 target 第一次出现的下标,R 表示最后一次出现的下标
(下标从 0 开始计数;如果不存在 target,则输出 -1 -1)
💡 输入输出样例
6 8
5 7 7 8 8 10
3 4
6 6
5 7 7 8 8 10
-1 -1
0 0
-1 -1
📊 数据范围
- 数组长度 (n) 最多 \(10^5\)。
- 数组元素和目标值范围在 \([-10^9,\,10^9]\)。
- 要求算法时间复杂度 \(O(\log n)\)。