1、题述:
给个N个正整数,再给M个正整数,问M个数中的每个数分别是否出现过?
代码:
#include <cstdio>
const int max=100010;
bool hashTable[max]={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; //出现则为true
}
for(int j=0; j<m; j++){
scanf("%d",&x);
if(hashTable[x] == true){
printf("Yes\n");
}else{
printf("No\n");
}
}
return 0;
}
前一个判断是否出现过,下面判断出现的次数,同上1代码为:
#include <cstdio>
const int max=100010;
bool hashTable[max]={0};
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 j=0; j<m; j++){
scanf("%d",&x);
printf("hashTable[x]");
}
return 0;
}