![在这里插入图片描述](https://img-blog.csdnimg.cn/20200422020220992.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjUwMzg0Mw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200422020259900.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjUwMzg0Mw==,size_16,color_FFFFFF,t_70)
讲解
可以用暴力搜索,一个一个对比,方法简单,不说,此处用二分法实现搜索
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[100];
bool chazhao(int n,int target){
int left = 0;
int right = n - 1;
while(left <= right){
int middle = (left + right)/2;
if(a[middle] < target){
left = middle + 1;
}else if(a[middle] > target){
right = middle - 1;
}else{
return true;
}
}
return false;
}
int main(){
int n;
while(cin >> n){
for(int i = 0; i < n; i ++){
cin >> a[i];
}
sort(a,a + n);
int m;
cin >> m;
for(int i = 0; i < m; i ++){
int b;
cin >> b;
if(chazhao(n,b)){
cout << "YES" << endl;
}else{
cout << "NO" << endl;
}
}
}
return 0;
}