0
我如何检查可以从列表元素中创建一个数字?从列表元素中编号
例如: 名单= [1,1,3,3,3,3,5,10,23,53]
现在我们可以做9 [1,3,5]或[3,3,3] 我想类似的东西:
list=[1,1,3,3,3,3,5,10,23,53]
tmp=[]
sum=0
for i in range(len(list)):
tmpChange=9
tmpChange -= list[i]+sum
if tmpChange == 0:
break
elif tmpChange > 0:
tmp.append(list[i])
sum += list[i]
print(tmpChange)
print(tmp)
else:
tmp.pop(i)
,这是一个已知和明确定义的问题。 – DeepSpace
除了您的主要问题之外,您正在将内容分配给像'list'和'sum'这样的内置函数。这不被推荐。尝试命名变量,如'my_list'或'my_sum'。 – blacksite
确切地说,这是“背包问题”。对这个问题没有有效的解决方法是已知的,所以我建议你尝试所有的子集。尽管如此,它具有指数级的复杂性。 – Blaf