#include <iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
using namespace std;
const int MAXN = 1000+10;
const int RANGE = 1e6;
int a[MAXN];
int b[MAXN];
bool hashTable[RANGE];//散列查找
bool LinearSearch(int n,int target){//线性查找
for(int i = 0;i< n ;i++){
if(a[i] == target){
return true;
}
}
return false;
}
bool BinarySearch(int n,int target){//二分查找,需要提前有序
int left = 0;
int right = n-1;
while(left <= right){
int middle = left + (right - left )/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;
scanf("%d",&n);
for(int i = 0;i < n; i++){
scanf("%d",&a[i]);
hashTable[a[i]]=true;
}
sort(a,a+n);
int m;
scanf("%d",&m);
while(m--){
int target;
scanf("%d",&target);
if(hashTable[target]){
printf("YES\n");
}else{
printf("NO\n");
}
}
return 0;
}
查找方法大杂烩
最新推荐文章于 2024-07-24 18:36:32 发布