摘要:
有了前几题的经验,这道题也很快过了。有序添加,每一次DFS都是找解中的第i个元素。public class Solution { ArrayList> ans = new ArrayList>(); ArrayList tmp = new ArrayList(); public ArrayList> combinationSum2(int[] candidates, int target) { ans.clear(); tmp.clear(); Arrays.sort(candidates); boolean used[... 阅读全文
posted @ 2013-09-21 23:18
阿牧遥
阅读(178)
评论(0)
推荐(0)
摘要:
有了之前的经验,此题相对顺利。public class Solution { ArrayList> ans = new ArrayList>(); ArrayList tmp = new ArrayList(); public ArrayList> combinationSum(int[] candidates, int target) { ans.clear(); tmp.clear(); sub(candidates, 0, 0, target); return ans; } private vo... 阅读全文
posted @ 2013-09-21 23:08
阿牧遥
阅读(185)
评论(0)
推荐(0)
摘要:
要完成这道题,首先让我们再回顾一下SubSet IIhttp://discuss.leetcode.com/questions/265/subsets-ii1.每次进入sub的时候,都会记录当前path为一个结果(一个子集);2.进入sub时,是用i个元素的子集来推导i+1个元素的子集的过程;3.有了i个元素,第i+1个元素只从原始集合S的位置i之后的元素选;4.该算法的关键是,有序添加。保证,产生的集合中的元素是有序的。比如[1,2,3,4,5](暂不考虑重复)如果进入sub的时候是[1,3],那么下一步是[1,3,4]和[1,3,5]为什么没有[1,3,2]呢,因为[1,2]比如在[1,3 阅读全文
posted @ 2013-09-21 11:57
阿牧遥
阅读(716)
评论(0)
推荐(0)

浙公网安备 33010602011771号