二分查找 题解
来源:互联网 发布:conoha绑定域名 编辑:程序博客网 时间:2024/05/24 15:43
数据结构上机实验之二分查找
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.
输入
本题多组数据,首先输入一个数字n(n>=100000),然后输入n个数,数据保证数列递增,然后再输入一个查找数字。
输出
若存在输出YES,不存在输出NO.
示例输入
41 3 5 83
示例输出
YES
心得:二分查找之前数组必须是有序的,每次都和中间值比较,逐步缩小范围。。 (坚信努力会有收获! 每天一个算法,加油!)
代码:
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int a[100020],n,m,i;
- int low,high,mid;
- while(~scanf("%d",&n))
- {
- for(i=0;i<n;i++)
- {
- scanf("%d",&a[i]);
- }
- scanf("%d",&m);
- low=0;
- high=n;
- mid=(low+high)/2;
- while(low<=high)
- {
- if(a[mid]<m)
- {
- low=mid+1;
- }
- else if(a[mid]>m) high=mid-1;
- else break;
- mid=(low+high)/2;
- }
- if(low<=high) printf("YES\n");
- else printf("NO\n");
- }
- return 0;
- }
0 0
- 二分查找 题解
- 【Hash】【二分查找】17.6.3 集合 题解
- 二分查找——zznuoj1906yifan and Zeroes 解题题解
- 【日常学习】【二分查找】cidevs3297 木材加工题解
- 题解: HDU 2141 Can you find it? (二分查找)
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- Windows下80端口被进程System&PID=4占用
- POJ 2653 Pick-up sticks【计算几何入门】
- if与switch的小区别
- SDWebImage内部实现过程
- 三目运算、可选类型
- 二分查找 题解
- 最大公约数
- 根据用户需要输出打印菱形,用for循环输出打印星号组成的菱形
- c++代码赏析之类对象传参
- ListView常用小技巧
- 寻找考场
- 1004 看节目问题 ACID 00732018
- 有符号数与无符号数
- ffmpeg /x264视频流编解码末尾丢帧问题分析和解决