#2221. 在排序数组中查找元素的第一个和最后一个位置
在排序数组中查找元素的第一个和最后一个位置
问题描述
给你一个按照非递减顺序排列的整数数组 nums
,和一个目标值 target
。
请你找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target
,返回 [-1, -1]
。
你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
格式
输入
- 一个非递减数组
nums
和一个整数target
。
输出
- 一个长度为 2 的数组
[start, end]
,表示target
在nums
中的起始和结束索引。
样例
样例1
输入
7
5 7 7 8 8 10
8
输出
3 4
样例2
输入
6
5 7 7 8 8 10
6
输出
-1 -1
提示
- 0 <=
nums.length
<= 10⁵ - -10⁹ <=
nums[i]
<= 10⁹ nums
是一个非递减数组- -10⁹ <=
target
<= 10⁹