这是我的代码,我想要所需的输出,但只需获取输出...。请帮帮我!! https://github.com/amitsgh/Algorithm/commit/37529df890a23dae154cbd0e69e0de82e1f2d412
输出: 真正 [8,2]
所需的输出: 真正 [8,2],[6,4]
答案 0 :(得分:0)
您的代码不必要地复杂,并且您无需递归即可完成此任务。这是一种获取所需内容的非常简单的方法:
def subset_sum(sum, values):
result = []
for i in range(len(values)):
for j in range(i + 1, len(values)):
if values[i] + values[j] == sum:
result.append((values[i], values[j]))
return result
r = subset_sum(10, [2, 6, 4, 8])
print("{} {}".format("True" if len(r) > 0 else "False", r))
结果:
True [(2, 8), (6, 4)]
您没有说应该决定打印True
还是False
的内容。我以为是至少找到一对值加起来等于所提供的总和。