二分查找:升序有序数组中查找元素首次出现的位置
题目描述
给定一个从小到大排列的有序数列,对于给定的整数x,输出x第一次出现的位置;若x不存在于数列中,输出-1。
输入描述
- 第一行输入两个整数
n和m,分别代表数列的长度和询问的次数。 - 第二行输入
n个整数,代表升序排列的有序数列。 - 接下来
m行,每行输入一个整数x,代表需要查询的数字。
输出描述
对于每个查询的x,单独输出一行结果:若x存在,输出其第一次出现的位置(位置从1开始计数);否则输出-1。
输入样例
5 4
1 2 3 4 5
1
2
3
6
输出样例
1
2
3
-1
提示
- $0 \leq n \leq 1000000$
- $1 \leq m \leq 10000$
- 序列中的每个数字都在int类型范围内
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析