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;}