https://leetcode-cn.com/problems/combination-sum/
题目
给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。
candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。
对于给定的输入,保证和为 target 的唯一组合数少于 150 个。
示例
1  | 输入: candidates = [2,3,6,7], target = 7  | 
解:回溯搜索
思路
参考
将搜索的过程用树表达
以输入:candidates = [2, 3, 6], target = 8 为例:
以target为根节点,candidates里的数为叶子
- ▲:如果当前叶子到根节点求和>target,停止
 - o:如果当前叶子到根节点求和=target,加入解集
 - x:如果产生重复 剪枝
 
用递归实现以上逻辑
代码
1  | var combinationSum = (candidates, target){  |