#include<cstdio>
const int maxn=100010;
bool hashTable[maxn]={false};
int main(){
int n,m,x;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
scanf("%d",&x);
hashTable[x]=true;
}
for(int i=0;i<m;i++){
scanf("%d",&x);
if(hashTable[x]==ture){
printf("YES\n");
}else{
printf("NO\n");
}
}
return 0;
}
//M个整数是否在N个整数中出现
使用哈希表解决查找问题
这段代码展示了如何利用哈希表(HashTable)在O(1)的时间复杂度内进行查找操作。程序读取两个整数n和m,然后n个整数存入哈希表。之后对于m个查询,如果查询的数字在哈希表中,则输出YES,否则输出NO。

被折叠的 条评论
为什么被折叠?



