题目描述
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的数字可以无限制重复被选取。
说明:
所有数字(包括 target)都是正整数。
解集不能包含重复的组合。
示例 1:
输入:candidates = [2,3,6,7], target = 7,
所求解集为:
[[7],[2,2,3]]
主要思路
还是DFS+剪枝的套路,模板在上一篇中已经描述过了,所以这个地方直接给出AC的代码,所有的问题均在注释里面
1 | class Solution { |
这几日做的都是DFS+回溯剪枝的题目,其实主要还是套模板,不过主要区分的是求排列,还是求组合,然后区分开始进行递归的时候,开始的节点的下标,以及每次递归的时候的长度是否叠加,即可