【发布时间】:2021-04-18 16:37:52
【问题描述】:
给定一个数字列表和一个数字 k,返回列表中的任意两个数字加起来是否为 k。
例如,给定[10, 15, 3, 7] 和 17 个中的 k,返回 true,因为 10 + 7 is 17。
奖励:你能一次性完成吗?
我这样写了我的代码,我得到了上述输入的正确答案
x=[10,15,3,7]
y=17
for i in x:
if (y-i) in x:
print(True)
break
并且也检查了其他代码以知道我是对还是错,并且许多人在他们的代码中使用了集合
def sum_exists(l,k):
s = set()
for x in l:
if k-x in s:
return True
s.add(x)
return False
我仍然不明白他们的代码和我的代码之间的区别。我错了吗?
集合的用途与我的代码不同?
【问题讨论】:
标签: python python-3.x list set