算法学习之路-二分查找
来源:互联网 发布:3306端口入侵教程 编辑:程序博客网 时间:2024/06/01 08:26
描述:
给定一个单调递增的整数序列,问某个整数是否在序列中。
输入:
第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行一个整数k。
输出:
每个查询的输出占一行,如果k在序列中,输出Yes,否则输出No。
输入样例:
51 3 4 7 113369
输出样例:
YesNoNo
public class BinarySearch {static int arr[];public static void main(String[] args) {Scanner cin = new Scanner(System.in);while (cin.hasNext()) {int n = cin.nextInt();arr = new int[n];for (int i = 0; i < n; i++) {arr[i] = cin.nextInt();}int m = cin.nextInt();int searchArr[] = new int[m];for (int i = 0; i < m; i++) {searchArr[i] = cin.nextInt();}for (int i = 0; i < m; i++) {search(0, n - 1, searchArr[i]);}}}public static void search(int low, int high, int d) {if (low > high) {System.out.println("No");return;} else {int mid = (low + high) / 2;if (arr[mid] == d) {System.out.println("Yes");return;} else if (arr[mid] > d) {high = mid - 1;search(low, high, d);} else if (arr[mid] < d) {low = mid + 1;search(low, high, d);}}}}
0 0
- 算法学习之路-二分查找
- 算法学习之二分查找
- 算法学习之二分查找
- 算法学习之路(3):二分查找法
- 算法学习之java实现二分查找
- 算法学习-二分查找
- 算法之二分查找
- 算法之二分查找
- 算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- 查找算法之二分查找
- mongodb分片模式启用认证的注意事项
- Vim中如何转义反斜杠
- git的文件忽略
- 简单选择排序算法
- 阿里算法附加题
- 算法学习之路-二分查找
- 杭电 HDU ACM 1302 The Snail
- 设计模式学习(十二):桥接模式
- Windows 钩子,基本的dll注入
- EM算法-学习笔记
- 创建者模式——单例模式(Singleton)(1)
- UML::UML核心元素
- phpstorm的一些基础设置和快捷键
- (9.1.1)线性代数之行列式