二分查找1.0

简介: **题目:有一段长度为n的序列,q次查找,每次查找输入一个值x,需要你判断序列中是否存在值等于x的元素

**题目:

有一段长度为n的序列,q次查找,每次查找输入一个值x,需要你判断序列中是否存在值等于x的元素,若存在,请输出Yes,否则输出No,保证序列中每一个元素都是唯一的。

输入:

13 2

2 5 8 10 15 25 35 45 50 60 70 80 90

10

18

输出:

Yes

No

分析这道题很简单:不过多介绍

源码:**

include

using namespace std;

int main(void)

{

int n,q;
cin>>n>>q;
int arr[n];
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
for(int j=0;j<q;j++)
{
int as,a=0,b=n-1,md;
cin>>as;
while(as>arr[0]&&as<arr[n-1]&&b-a>=0)
    {
        md=arr[(a+b)/2];
if(as==md)
        {
            a=-1; 
cout<<"Yes"<<endl;
break;
        }else if(as>md)
        {
            a=(a+b)/2+1;
        }else if(as<md)
        {
            b=(a+b)/2-1;
        }
    }
if(a!=-1)
    {
cout<<"No"<<endl;
    }
}
return 0;

}

目录
相关文章
|
算法 索引
二分查找(详解)
二分查找(详解)
|
3月前
|
算法
【算法】二分查找——二分查找
【算法】二分查找——二分查找
|
6月前
|
算法 索引
二分查找(二)
二分查找(二)
|
6月前
|
算法 索引
二分查找(一)
二分查找(一)
|
6月前
|
算法 C++
C++021-C++二分查找
C++021-C++二分查找
C++021-C++二分查找
|
算法 索引
【二分查找】
【二分查找】
|
算法 C语言
这就是二分查找?
本文通过简单的猜数字小游戏向大家介绍二分查找的基本原理。
121 2
|
存储 算法
6-2 二分查找
6-2 二分查找
156 0