2123 查詢練習 hash 出現過的數字

2021-09-10 06:01:29 字數 1162 閱讀 4541

time limit: 1000 ms memory limit: 65536 kib

submit

statistic

discuss

problem description

有乙個資料字典,裡面存有n個數字(n<=100000),小明現在接到乙個任務,這項任務看起來非常簡單——給定m個數字,分別查詢這m個數字是否出現在字典之中;但是考慮到資料量的問題,小明找到了善於程式設計的你,希望你可以幫他解決這個問題。

input

輸入資料只有一組!

第一行包含兩個整數n m,分別代表字典中數字的個數和要查詢的數字的個數。

接著n行代表字典中的n個數字。

最後m表示要查詢的數字。

output

如果某個數字存在,則輸出yes,否則輸出no

sample input

5 312

3455

410

sample output

yes

yesno

hint

source

趙利強注意:超時了很多次,最開始的**非常粗暴,開了乙個100000的陣列,代表的是每乙個輸入的數字,凡是出現了便在這個陣列中對其值加1,定義乙個flag變數,凡是出現了這個數便將flag設為1,設為1,再輸出yes即可。

貼上超時的**:

#include using namespace std;

void find_n(int a,int n,int key)

; for(int i=0;i>n>>m;

for(int i=0;i>a[i];

}for(int j=0;j>key;

find_n(a,n,key);

}return 0;

}

能過的**:

#include using namespace std;

int flag[100000]=;

void find_n(int a,int n,int key)

for(int j=0;j>key;

find_n(a,n,key);

}return 0;

}

相當於直接減少一次遍歷吧

sdut2123查詢練習 hash 出現過的數字

題目 有乙個資料字典,裡面存有n個數字 n 100000 小明現在接到乙個任務,這項任務看起來非常簡單 給定m個數字,分別查詢這m個數字是否出現在字典之中 但是考慮到資料量的問題,小明找到了善於程式設計的你,希望你可以幫他解決這個問題。輸入資料只有一組!第一行包含兩個整數n m,分別代表字典中數字的...

查詢練習 hash 出現過的數字

有乙個資料字典,裡面存有n個數字 n 100000 小明現在接到乙個任務,這項任務看起來非常簡單 給定m個數字,分別查詢這m個數字是否出現在字典之中 但是考慮到資料量的問題,小明找到了善於程式設計的你,希望你可以幫他解決這個問題。輸入資料只有一組!第一行包含兩個整數n m,分別代表字典中數字的個數和...

查詢練習 hash 出現過的數字

查詢練習 hash 出現過的數字 time limit 1000ms memory limit 65536k 有疑問?點這裡 題目描述 有乙個資料字典,裡面存有n個數字 n 100000 小明現在接到乙個任務,這項任務看起來非常簡單 給定m個數字,分別查詢這m個數字是否出現在字典之中 但是考慮到資料...