Combination Sum III

原创 2015年07月07日 10:55:34
public class Solution {
    public List<List<Integer>> combinationSum3(int k, int n) {
        List<List<Integer>> result = new ArrayList<List<Integer>>();
        if (k < 1 || k > 9 || n > (19 - k) * k / 2) {
            return result;
        }
        List<Integer> level = new ArrayList<Integer>();
        dfs(result, level, 1, n, k);
        return result;
    }
    private void dfs(List<List<Integer>> result, List<Integer> level, int start, int sum, int length) {
        if (sum == 0 && level.size() == length) {
            result.add(new ArrayList<Integer>(level));
            return;
        }
        for (int i = start; i <= 9; i++) {
            //剪枝
            if (sum < 0) {
                break;
            }
            if (level.size() > length) {
                break;
            }
            level.add(i);
            dfs(result, level, i + 1, sum - i, length);
            level.remove(level.size() - 1);
        }
    }        
}

leetCode 39.Combination Sum(组合总和) 解题思路和方法

Combination Sum Given a set of candidate numbers (C) and a target number (T), find all unique com...
  • xygy8860
  • xygy8860
  • 2015年07月09日 22:33
  • 1121

【LeetCode-面试算法经典-Java实现】【216-Combination Sum III (组合数的和)】

【216-Combination Sum III (组合数的和)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.com/Wang-Jun-...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月28日 06:58
  • 3527

Micrium 开放了µC/OS-III源代码

Micrium 开放了µC/OS-III源代码  发布时间:2011-8-19 9:27:29   发布方:Dave   点击数:1641 高品质嵌入式系统...
  • autumn20080101
  • autumn20080101
  • 2013年07月25日 15:29
  • 1460

Leetcode——216. Combination Sum III

题目:Find all possible combinations of k numbers that add up to a number n, given that only numbers fr...
  • starstar1992
  • starstar1992
  • 2017年01月10日 16:15
  • 160

Combination Sum III C#

Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...
  • u014056175
  • u014056175
  • 2015年08月24日 09:16
  • 283

LeetCode 216 Combination Sum III(Backtracking)(*)

翻译找出所有的k个数字相加得到数字n的组合,只有1到9的数字可以被使用,并且每个组合间需要是不同的数字集。原文Find all possible combinations of k numbers t...
  • NoMasp
  • NoMasp
  • 2016年07月17日 22:21
  • 1382

LeetCode 216. Combination Sum III 解题报告

LeetCode 216. Combination Sum III 解题报告
  • camellhf
  • camellhf
  • 2016年10月24日 13:44
  • 223

leetcode_middle_25_216. Combination Sum III

题意: 给两个数n,k,找出所有n个各不相同的数的和是k的组合。 分析: 其实关键就是搜索遍历,怎么遍历呢?可以这样: 1,2,3    1,2,4    1,2,5  ...   1,2...
  • pusude
  • pusude
  • 2017年02月07日 14:44
  • 95

LeetCode笔记:216. Combination Sum III

寻找k个数相加得到n的所有组合
  • Cloudox_
  • Cloudox_
  • 2017年03月27日 10:12
  • 432

Leetcode 39 - Combination Sum I, II, III(dfs)

题意给一个set C,然后还有一个你要凑出来的数target,要求C里面的数可以使用任意多次,求方案(输出具体方案)。思路先将数组从大到小排序(cut),然后开始搜索。 注意dfs模型:void d...
  • Lzedo
  • Lzedo
  • 2017年01月24日 17:29
  • 206
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Combination Sum III
举报原因:
原因补充:

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