#2221. 在排序数组中查找元素的第一个和最后一个位置

在排序数组中查找元素的第一个和最后一个位置

问题描述

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target

请你找出给定目标值在数组中的开始位置结束位置

如果数组中不存在目标值 target,返回 [-1, -1]

你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。


格式

输入

  • 一个非递减数组 nums 和一个整数 target

输出

  • 一个长度为 2 的数组 [start, end],表示 targetnums 中的起始和结束索引。

样例

样例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⁹