我得到了N
int输入,我想检查它们是否被重复。
简单的方法就是使用列表并检查是否包含新的输入。
然而,对于我的,我知道我的输入是< N
,所以我可以列出一个列表
l = [0]*N
然后检查一下
def getinputs(N):
state = 1
l = [0]*N
for _ in range(N):
i = int(input())
if l[i] != 0:
l[i] += 1
else:
state = 0
return state
这里的问题是,如果N>&燃气轮机;1,那么列表的大小非常大,这会导致问题。有没有更聪明的方法来判断输入是否重复
使用一套:
它比检查重复的列表要好得多,因为它是O(1)而不是O(n)
如果要计算重复次数,请使用字典:
字典也有O(1)查找
相关问题 更多 >
编程相关推荐