给定一个按非递减顺序排列的整数数组和一个目标值 target,请找出 target 在数组中的起始位置和结束位置,要求时间复杂度为 O(log n)。
考察说明
考察二分查找的边界处理能力,特别是寻找左右边界时的终止条件和索引细节
回答思路
- 明确数组有序且非递减,需要处理元素可能重复的情况
- 使用两次二分查找分别定位左边界和右边界,每次循环注意边界收缩条件
- 返回正确区间或 [-1, -1] 表示未找到,并解释代码避免死循环
- 能分析时间复杂度 O(log n) 与空间复杂度 O(1)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。