分治——二分查找
2018-03-27 21:52
246 查看
问题 A: 二分查找
时间限制: 1 Sec 内存限制:128 MB
题目描述
设有N个数已经按从大到小的顺序排列,现在输入X,判断它是否在这N个数中,如果存在则输出:“YES” 否则输出“NO”。输入
第一行输入十个数第二行输入你要找的数
输出
找到输出YES找不到输出NO
样例输入
1 2 3 4 5 6 7 8 9 10 3
样例输出
YES
提示
#include<iostream>using namespace std;
int main()
{
int a[10],x;
for(int i=0;i<10;i++)
cin>>a[i];
cin>>x;
int left=0,right=9,mid;
while(left<=right)
{
mid=(left+right)/2;
if(a[mid]>x)right=mid-1;
if(a[mid]<=x)left=mid+1;
}
if(a[right]==x)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return 0;
}
相关文章推荐
- [PKU暑课笔记] 二分查找 分治
- 分治-二分查找
- 洛谷P3345 [ZJOI2015]幻想乡战略游戏(动态点分治,树的重心,二分查找,Tarjan-LCA,树上差分)
- 蓝桥杯C语言培训6 分治法与动态规划 二分查找
- 分治1--二分查找
- 【算法·递归与分治】二分查找
- 分治思想 - 二分搜索技术 - MATLAB代码 list是数据集合,x是要查找的数据。
- #1133 : 二分·二分查找之k小数 ( 快速排序, 分治 OR nth_element() 函数)
- 分治专题(二分查找与快速幂)
- 第2章 递归与分治策略,二分搜索技术(查找不成功时,返回区间位置)
- 递归与分治——二分查找
- poj 1840 Eqs 【解五元方程+分治+枚举打表+二分查找所有key 】
- 分治算法解决二分查找
- 【分治】二分查找
- 递归与分治:二分查找
- Codeforces Round #168 (Div. 2) C. k-Multiple Free Set(二分查找)
- 二分查找--天堂珍珠(珍珠项链)pearl
- 折半查找(二分查找)
- CodeForces 275C k-Multiple Free Set(二分查找)
- java中的折半查找(二分查找)