首页 > 解决方案 > 读取列表并打印不重复的元素

问题描述

以下代码适用于小型列表和大型集合的超时错误。

li=list(input());
se=set(li);
for i in se:
    count=0
    for j in li:
        if(j==i):
            count=count+1
    if(count==1):
        print(i)

成功

时间到

“成功”数据集

1 2 3 6 5 4 4 2 5 3 6 1 6 5 3 2 4 1 2 5 1 4 3 6 8 4 3 1 5 6 2

预期结果

8

标签: python

解决方案


from collections import Counter
li=list(input())
cnt = Counter(li)
ans = []

for i in cnt:
    if cnt[i] == 1:
        ans.append(i)

print(*ans)

要查找集合中某个元素的出现次数,可以使用 collections.Counter。

此外,您的代码的时间复杂度超过了 o(n^2),这就是超时发生的原因。


推荐阅读