查找练习 hash——出现过的数字
生活随笔
收集整理的這篇文章主要介紹了
查找练习 hash——出现过的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
有一個數據字典,里面存有n個數字(n<=100000),小明現在接到一個任務,這項任務看起來非常簡單——給定m個數字,分別查詢這m個數字是否出現在字典之中;但是考慮到數據量的問題,小明找到了善于編程的你,希望你可以幫他解決這個問題。輸入
輸入數據只有一組! 第一行包含兩個整數n m,分別代表字典中數字的個數和要查詢的數字的個數。 接著n行代表字典中的n個數字。 最后m表示要查詢的數字。輸出
如果某個數字存在,則輸出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;//標記;
? ? ? ? }
? ? while(m--)
? ? {
? ? ? ? scanf("%d",&t);
? ? ? ? if(a[t])
? ? ? ? ? ? {
? ? ? ? ? ? ? ? printf("YES\n");
? ? ? ? ? ? }
? ? ? ? else
? ? ? ? ? ?{
? ? ? ? ? ? ?printf("NO\n");
? ? ? ? ? ?}
? ? }
}
總結
以上是生活随笔為你收集整理的查找练习 hash——出现过的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1260 不一样的A+B
- 下一篇: The Book List