一、问题
给定和
,求所有可行解
。
二、解题思路
分支遍历法。
三、Python代码
def dfs(l=[], k=0, s=0):
if s > y:
return
if s == y:
solvers.append(l)
return
for i in range(k,len(x)):
dfs(l+[i], i+1, s+x[i])
if __name__ == '__main__':
x = [4, 9, 11, 13, 7, 6, 8, 12]
y = 20
solvers=[]
dfs()
print(solvers)
本文介绍了一个使用分支遍历法解决给定和问题的Python实现方案。通过递归的方式找到数组中所有元素组合,这些组合的和等于预设的目标值。此方法适用于寻找特定条件下的一组或多组解。
6万+

被折叠的 条评论
为什么被折叠?



