算法題.輸入參數:(小數數組,總和)輸出參數:小數二維數組要求:從輸入的小數數組中找出所有和為輸入的總和的組合例子輸入([1,2,3,4],6)輸出[[1,2,3],[2,4]]
1 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
import copy
input_L = [1,2,3,4]
result = []
global tmp_answer
tmp_answer = []
def solve(input_L,res_sum,tmp_answer):
print input_L,res_sum,tmp_answer,'\n\n'
#滿足條件,輸出結果
if res_sum == 0:
x = sorted(copy.deepcopy(tmp_answer))
if x in result:
return
else:
result.append(x)
#不滿足條件,返回
elif res_sum <0 or len(input_L) == 0:
#tmp_answer.pop()
return
for i in range(0, len(input_L)):
d = input_L[i]
#1 取第i個做為組合
tmp_answer.append(d)
input_L.pop(i)
#2 獲取 res_sum-d 的組合結果
solve(input_L,res_sum-d,tmp_answer)
#3 放回i個
tmp_answer.pop()
input_L.append(d)
solve(input_L,6,tmp_answer)
print result
添加回答
舉報
0/150
提交
取消