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

给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置(从0开始)。

如果数组中不存在目标值 target,输出-1 -1。

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

输入

第一行输入一个整数n,表示数组中元素数量

以下n行输入n个整数,表示数组元素

第n+2行输入一个整数target,表示需要搜索的数

输出

目标值在数组中的开始位置和结束位置,中间以空格隔开,如不存在则输出 -1 -1

样例

输入

6
5 7 7 8 8 10
8

输出

3 4

输入

6
5 7 7 8 8 10
6

输出

-1 -1

提示

0 \leq nums.length \leq 10^5

-10^9 \leq nums[i] \leq 10^9

nums 是一个非递减数组

-10^9 \leq target \leq 10^9

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题