来写代码了,伪代码也行.算法题.

算法题.
输入参数:(小数数组,总和)
输出参数:小数二维数组
要求:从输入的小数数组中找出所有和为输入的总和的组合
例子输入([1,2,3,4],6)输出[[1,2,3],[2,4]]

达令说
浏览 836回答 1
1回答

德玛西亚99

import copy&nbsp;input_L = [1,2,3,4]result = []global tmp_answertmp_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:returnelse:result.append(x)#不满足条件,返回&nbsp;elif res_sum <0 or len(input_L) == 0:#tmp_answer.pop()returnfor i in range(0, len(input_L)):d = input_L[i]#1 取第i个做为组合tmp_answer.append(d)&nbsp;input_L.pop(i)&nbsp;#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
打开App,查看更多内容
随时随地看视频慕课网APP