题目描述
小发明家弗里想创造一种新的语言,众所周知,发明一门语言是非常困难的,首先你就要克服一个困难就是,有大量的单词需要处理,现在弗里求助你帮他写一款程序,判断是否出现重复的两个单词。
输入描述
第 11 行,输入 NN,代表共计创造了多少个单词。
第 22 行至第 N+1N+1 行,输入 NN 个单词。
1\leq N \leq 10^41≤N≤104,保证字符串的总输入量不超过 10^6106。
输出描述
输出仅一行。若有重复的单词,就输出重复单词,没有重复单词,就输出 NO
,多个重复单词输出最先出现的。
6
1fagas
dsafa32j
lkiuopybncv
hfgdjytr
cncxfg
sdhrest
NO
5
sdfggfds
fgsdhsdf
dsfhsdhr
sdfhdfh
sdfggfds
sdfggfds
运行限制
- 最大运行时间:3s
- 最大运行内存: 512M
解法一: 哈希
N=int(input())
Set=set()
for i in range(N):
s=input()
if s in Set:
print(s)
break
Set.add(s)
else:
print('NO')
解法二:数组
N=int(input())
a=[]
for i in range(N):
m=input()
if m in a:
print(m)
break
a.append(m)
else:
print('NO')
解法三:普通解法