【发布时间】:2021-02-09 16:56:14
【问题描述】:
https://www.hackerrank.com/challenges/no-idea/problem
在上面的问题中,我有一个这样的解决方案:
if __name__ == '__main__':
n, m = map(int, input().split())
array = list(map(int, input().split()))
A = list(map(int, input().split()))
B = list(map(int, input().split()))
print(sum([(i in A) - (i in B) for i in array]))
结果在某些测试用例中超时。 但是,如果我将 A 和 B 的类型切换为 set,例如:
A = set(map(int, input().split()))
B = set(map(int, input().split()))
它完美地通过了所有的测试用例。 我不明白为什么 Python 3 在这种情况下使用 set 比使用 list 运行得更快?
【问题讨论】:
标签: python python-3.x list set