测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70705. 二分查找

编程题 入门

题目描述

请在一个有序递增数组中(不存在相同元素),采用二分查找,找出值 x 的位置,如果 x 在数组中不存在,请输出 -1

输入格式

第一行,一个整数 n ,代表数组元素个数(n \le 10^6

第二行,n 个数,代表数组的 n 个递增元素(1 \le 数组元素值\le 10^8

第三行,一个整数 x ,代表要查找的数(0 \le x \le 10^8

输出格式

x 在数组中的位置,或者 -1

输入输出样例

输入 #1
10
1 3 5 7 9 11 13 15 17 19
3
输出 #1
2

说明/提示

## 思路

在有序范围上二分:根据 check(mid) 决定向左或向右缩小区间。

## 步骤

1. 确定答案上下界。
2. 二分 mid 并用题意检验。
3. 输出最终边界对应的答案。