题目:
解答:
本题目使用回溯算法进行解决,使用回溯算法解决问题时,其问题可以抽象为树形结构
本题目也可以抽象为一个树形结构,注意数组内元素在组合中只能使用一次
在使用回溯算法是先搞清楚:(1)递归函数的参数返回值
(2)确定递归的终止条件
(3)确定单层搜索的逻辑
解题步骤:
1.首先定义集合path存储单一结果,result存储最终结果
2.回溯:确定参数:int sum:和,int startIndex 从哪里开始循环
终止条件:当sum>=target时,递归终止
单层搜索逻辑:循环,但是要注意他的结果是无重复的,所以需要判断,
该语句是判断同一层是否使用过的元素,使用过则跳过
代码编译器:
参考:代码随想录