(算法练习)——散列
程序员文章站
2024-03-22 17:23:58
...
《算法笔记》P107
以空间换时间,查询一些数在另一些数中是否出现
代码1;
#include <stdio.h>
const int maxn = 10010;
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[i] = true;
}
for(int i = 0;i <m;i++){
scanf("%d",&x);
if(hashTable[x] == true){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return 0;
}
代码2:
#include <stdio.h>
const int maxn = 10010;
int hashTable[maxn] = {0};
int main(){
int n,m,x;
scanf("%d%d",&n,&m);
for(int i = 0;i <n;i++){
scanf("%d",&x);
hashTable[x]++;
}
for(int i = 0;i <m;i++){
scanf("%d",&x);
printf("%d\n",hashTable[x]);
}
return 0;
}
下一篇: LCA最近公共祖先(tarjan离线)