欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(算法练习)——散列

程序员文章站 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;
}