算法笔记(十二)散列(hash)

xiaoxiao2021-02-28  38

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

转载请注明原文地址: https://www.6miu.com/read-2630590.html

最新回复(0)