查找练习 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;
}
相关文章推荐
- sdut查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- SDUTOJ(2123)查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- sdut2123查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字(SDUT 2123)
- SDUT 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- SDUT 查找练习 hash——出现过的数字
- 查找练习 hash——出现过的数字
- sdut2123 查找练习 hash——出现过的数字(二分,字典)