二分查找:

要么左边,要么右边,哈哈哈哈

描述
给定一个单调递增的整数序列,问某个整数是否在序列中。
 
输入
第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行一个整数k。
 
输出
每个查询的输出占一行,如果k在序列中,输出Yes,否则输出No。
 
输入样例
5
1 3 4 7 11
3
3
6
9
 
输出样例
Yes
No
No

代码实现如下:

#include <stdio.h>

int n;

int binarySearch(int a[],long key)
{
int left = ;
int right = n; while(left<=right)
{
int mid = (left+right)/;
if(a[mid]==key)
{
return mid;
}
else if(a[mid]<key)
{
left = mid+;
}
else
{
right = mid - ;
}
}
return -;
} int main()
{
int array[];
int i;
int m;
long q;
scanf("%d",&n);
for(i=;i<n;i++)
scanf("%d",&array[i]);
scanf("%d",&m);
while(m--)
{
scanf("%ld",&q);
if(binarySearch(array,q)>=)
printf("Yes\n");
else
printf("No\n");
}
return ;
}

noj二分查找的更多相关文章

  1. NOJ——1649Find Sum(二分查找)

    [1649] Find Sum 时间限制: 1000 ms 内存限制: 65535 K 问题描述 This problem is really boring. You are given a numb ...

  2. jvascript 顺序查找和二分查找法

    第一种:顺序查找法 中心思想:和数组中的值逐个比对! /* * 参数说明: * array:传入数组 * findVal:传入需要查找的数 */ function Orderseach(array,f ...

  3. Java实现的二分查找算法

    二分查找又称折半查找,它是一种效率较高的查找方法. 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小 于该中点 ...

  4. 从一个NOI题目再学习二分查找。

    二分法的基本思路是对一个有序序列(递增递减都可以)查找时,测试一个中间下标处的值,若值比期待值小,则在更大的一侧进行查找(反之亦然),查找时再次二分.这比顺序访问要少很多访问量,效率很高. 设:low ...

  5. java实现二分查找

    /** * 二分查找 * @param a * @param n * @param value * @return * @date 2016-10-8 * @author shaobn */ publ ...

  6. 最新IP地址数据库 二分逼近&二分查找 高效解析800万大数据之区域分布

    最新IP地址数据库  来自 qqzeng.com 利用二分逼近法(bisection method) ,每秒300多万, 比较高效! 原来的顺序查找算法 效率比较低 readonly string i ...

  7. c#-二分查找-算法

    折半搜索,也称二分查找算法.二分搜索,是一种在有序数组中查找某一特定元素的搜索算法. A 搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束: B 如果某一特定元素大于或者小 ...

  8. 【Python】二分查找算法

    二分查找:在一段数字内,找到中间值,判断要找的值和中间值大小的比较.如果中间值大一些,则在中间值的左侧区域继续按照上述方式查找.如果中间值小一些,则在中间值的右侧区域继续按照上述方式查找.直到找到我们 ...

  9. PHP实现文本快速查找 - 二分查找

    PHP实现文本快速查找 - 二分查找法 起因 先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称.根据网站分类ID获取分类名称.根据关键 ...

随机推荐

  1. Hadoop -- 概念

    hadoop 一个开源的,稳定的,可扩展的,分布式的计算框架 实现单一的服务器到成千上万机器之间共同处理数据的一个可扩展性框架 Hadoop 项目主要包含以下四个模块 Hadoop Common:为其 ...

  2. mysql日期操作

    一.获取当前日期时间 1.1.获得当前日期+时间(date+time)函数:now() 1.2.获取当前日期+时间(date+time)函数:sysdate() 注:二者类拟,不同在于now()在执行 ...

  3. 【winform】DataGridView控件[表格]

    一.表格 0.从数据库获取一个表在DataGridView中显示: 数据库查询的方式大同小异,重点是如何把数据显示到控件中的方法,通过dataset作为数据的中继,把Adapter中的数据存到data ...

  4. mybatis的sql映射文件不能打包进目录解决办法

    方法二: <build> <finalName>qwe</finalName> <plugins> <plugin> <groupId ...

  5. 复习-css边框和背景属性

    css边框和背景属性 border:所有边框属性 border-width:四条边框的宽度 border-style:设置边框样式,主要有dotted.solid.double border-colo ...

  6. Mock.js 虚拟接口 数据模拟

    Mock.js 是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 大概记录下使用过程, 详细使用可以参 ...

  7. css 简介 2

    css css Table属性 border-collapse 设置是否把表格边框合并为单一的边框 border-spacing 设置表格标题的位置 empty-cells 设置是否显示表格中的空单元 ...

  8. sublime text 3 显示空格和Tab

    tab对于需要 共享 的代码而言是灾难. pyhton对这点的明确要求是不要混合使用4个空格和tab键. 只使用二者之一,都是没有问题的.如果一个python代码已经完成的部分,都是使用的4个空格.那 ...

  9. 【Core】.NET Core中读取App.config配置文件

    1.项目中添加App.config文件 因为.NET Core的项目本质是控制台应用,所以ConfigurationManager的API会去默认读取app.config配置文件,而不是web.con ...

  10. [原][译][jsbsim]空气动力学模型库讨论JSBSim对比YASim

    英文原文:JSBSim_vs_YASim 准确性和现实性飞行动力学模型的准确性和真实性是针对YASim的争论中提出的两个共同点.实际上,如果你给YASim或JSBSim垃圾参数,它们都将返回垃圾空气动 ...