查找练习 hash——出现过的数字
生活随笔
收集整理的這篇文章主要介紹了
查找练习 hash——出现过的数字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
有一個(gè)數(shù)據(jù)字典,里面存有n個(gè)數(shù)字(n<=100000),小明現(xiàn)在接到一個(gè)任務(wù),這項(xiàng)任務(wù)看起來非常簡單——給定m個(gè)數(shù)字,分別查詢這m個(gè)數(shù)字是否出現(xiàn)在字典之中;但是考慮到數(shù)據(jù)量的問題,小明找到了善于編程的你,希望你可以幫他解決這個(gè)問題。輸入
輸入數(shù)據(jù)只有一組! 第一行包含兩個(gè)整數(shù)n m,分別代表字典中數(shù)字的個(gè)數(shù)和要查詢的數(shù)字的個(gè)數(shù)。 接著n行代表字典中的n個(gè)數(shù)字。 最后m表示要查詢的數(shù)字。輸出
如果某個(gè)數(shù)字存在,則輸出YES,否則輸出NO示例輸入
5 3 1 2 3 4 55 4 10示例輸出
YES YES NO提示
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int main()
{
? ? int i,n,m,t;
? ? memset(a,0,sizeof(a));//初始化;
? ? scanf("%d%d",&n,&m);
? ? for(i=1;i<=n;i++)
? ? ? ? {
? ? ? ? ? scanf("%d",&t);
? ? ? ? ? ?a[t]=1;//標(biāo)記;
? ? ? ? }
? ? while(m--)
? ? {
? ? ? ? scanf("%d",&t);
? ? ? ? if(a[t])
? ? ? ? ? ? {
? ? ? ? ? ? ? ? printf("YES\n");
? ? ? ? ? ? }
? ? ? ? else
? ? ? ? ? ?{
? ? ? ? ? ? ?printf("NO\n");
? ? ? ? ? ?}
? ? }
}
總結(jié)
以上是生活随笔為你收集整理的查找练习 hash——出现过的数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1260 不一样的A+B
- 下一篇: The Book List