切換
舊版
前往
大廳
主題

ZeroJudge - f259: 皓宇的青蛙 解題心得

Not In My Back Yard | 2020-09-12 00:00:26 | 巴幣 2 | 人氣 373

題目連結:


題目大意:
每列給定一字串(只由大寫英文字母組成),試問該字串在先前的輸入有無出現過。有的話,輸出「1」;反之,輸出「0」。



範例輸入:
CHUANG
HAOYU
LIKE
A
FROG
A
FROG
LIKE
HAOYU
CHUANG


範例輸出:
0
0
0
0
0
1
1
1
1
1


解題思維:
利用雜湊表(Hash Table)比對每個給定的字串是否出現過(有在雜湊表裡),有的話就輸出「1」;反之,則輸出「0」,並加入雜湊表裡。

C++ 的話,可以使用 map 、 unordered_map 或是 set 來充當雜湊表,python 則可以用 dict 。而因為本題的輸入量並不小,所以需要有輸入方面的最佳化,詳見此題




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作