您的位置:首页 > 其它

查找练习 hash——出现过的数字

2013-06-29 21:11 627 查看


开辟两个数组,置为0。一个用来存放输入的数据,另一个把输入的数据作为下标,原来的值由零变为1,。然后通过查找下标的方式来判断值是否为0、1,间接判断值的存在性。

#include<stdio.h>
int str1[100000],str2[100000] = {0};
int main()
{

int num1,num2;
scanf("%d %d",&num1,&num2);
int i,date;
for(i =0;i < num1;i++)
{
scanf("%d",&str1[i]);
str2[str1[i]] = 1;//把输入的值作为第二个数组的下标
}
for(i = 0;i < num2;i++)
{
scanf("%d",&date);
if(str2[date] == 1)//通过判断下标的方式判断值是否存在
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: