[刷题]Combination Sum II

原创 2015年07月09日 19:13:42

[LintCode]Combination Sum II

public class Solution {
    /**
     * @param num: Given the candidate numbers
     * @param target: Given the target number
     * @return: All the combinations that sum to target
     */
    public List<List<Integer>> combinationSum2(int[] num, int target) {
        // 2015-07-09
        // num中可以含重复元素,每个元素只能使用一次
        // 解集中不可以含相同的解
        List<List<Integer>> rst = new ArrayList<List<Integer>>();
        if (num == null || num.length == 0) {
            return rst;
        }
        Arrays.sort(num);
        ArrayList<Integer> list = new ArrayList<>();
        helper(rst, list, num, target, 0);
        return rst;
    }
    
    private void helper(List<List<Integer>> rst, ArrayList<Integer> list, int[] num, int t, int pos) {
        if (t == 0) {
            rst.add(new ArrayList<Integer>(list));
            return;
        }
        for (int i = pos; i < num.length; i++) {
            if (t - num[i] < 0) {
                break;
            }
            if (i != pos && num[i] == num[i - 1]) { // 关键:注意是pos
                continue;
            }
            list.add(num[i]);
            helper(rst, list, num, t - num[i], i + 1);
            list.remove(list.size() - 1);
        }
        return;
    }
}


[leetcode]40. Combination Sum II ,python实现【medium难度】

Combination sum 2.python实现
  • zl87758539
  • zl87758539
  • 2016年06月16日 17:37
  • 711

[LeetCode 39&40] Combination Sum I & II

题目链接:combination-sum import java.util.ArrayList; import java.util.Arrays; import java.util.List...
  • ever223
  • ever223
  • 2015年03月28日 23:41
  • 827

【LeetCode】Combination Sum I & II 解题报告

【Combination Sum I】 Given a set of candidate numbers (C) and a target number (T), find all unique ...
  • ljiabin
  • ljiabin
  • 2014年12月16日 11:06
  • 6478

Combination Sum II -- LeetCode

原题链接: http://oj.leetcode.com/problems/combination-sum-ii/  这道题跟Combination Sum非常相似,不了解的朋友可以先看看,唯一的区...
  • linhuanmars
  • linhuanmars
  • 2014年03月13日 04:30
  • 15563

40. Combination Sum II(Python3)

40. Combination Sum II(Python3) 题目 Given a collection of candidate numbers (C) and a target numb...
  • grape875499765
  • grape875499765
  • 2018年01月26日 18:45
  • 35

[leetcode]39. Combination Sum,python实现【Medium难度】

39.COMBINATION SUM,PYTHON实现
  • zl87758539
  • zl87758539
  • 2016年06月16日 17:01
  • 1462

leetcode【39+40+216+377 Combination Sum 相关】【python】

39Combination Sum是说让我们在给定数组C中找到所有的组合,使得组合中数字的和是target值。并且组合里的数字可以重复,也就是不限制C中每一个数字的使用。 这明显是回溯啦,大家记得让...
  • u014251967
  • u014251967
  • 2016年12月13日 16:38
  • 345

【LeetCode with Python】 Combination Sum II

Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in...
  • nerv3x3
  • nerv3x3
  • 2014年09月21日 17:33
  • 2434

LeetCode40:Combination Sum II

Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in...
  • u012501459
  • u012501459
  • 2015年07月06日 21:17
  • 796

LeetCode --- 40. Combination Sum II

题目链接:Combination Sum II Given a collection of candidate numbers (C) and a target number (T), find a...
  • makuiyu
  • makuiyu
  • 2015年02月06日 21:39
  • 575
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[刷题]Combination Sum II
举报原因:
原因补充:

(最多只允许输入30个字)