题目:
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.
The same repeated number may be chosen from C unlimited number of times.
Note:
2,3,6,7
and target 7
, [7]
[2, 2, 3]
题解:
还是老问题,用DFS找解决方案,不同点是,这道题: The same repeated number may be chosen from C unlimited number of times.
所以,每次跳进递归不用都往后挪一个,还可以利用当前的元素尝试。
同时,这道题还要判断重复解。用我之前介绍的两个方法:
1. if(i>0 && candidates[i] == candidates[i-1])//deal with dupicate
continue;
2. if(!res.contains(item))
res.add(new ArrayList<Integer>(item));
这两个方法解决。
代码如下:
Combination Sum leetcode java,布布扣,bubuko.com
原文:http://www.cnblogs.com/springfor/p/3884294.html