[leetcode][回溯] Combination Sum III

原创 2015年07月08日 15:16:10

题目:

Find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.

Ensure that numbers within the set are sorted in ascending order.


Example 1:

Input: k = 3, n = 7

Output:

[[1,2,4]]


Example 2:

Input: k = 3, n = 9

Output:

[[1,2,6], [1,3,5], [2,3,4]]
class Solution {
public:
    vector<vector<int>> combinationSum3(int k, int n) {
	vector<vector<int> > res;
	if (k <= 0 || n <= 0) return res;
	vector<int> oneCombination;
	combinationSum3Core(k, n, 1, 0, oneCombination, res);
	return res;
}
private:
    void combinationSum3Core(int k, int n, int start, int sum, vector<int> oneCombination, vector<vector<int> > &res){
	if (start > 9 || sum >= n || oneCombination.size() == k){
		if (oneCombination.size() == k && sum == n) res.push_back(oneCombination);
		return;
	}
	for (int i = start; i <= 9; ++i){
		oneCombination.push_back(i);
		combinationSum3Core(k, n, i + 1, sum + i, oneCombination, res);
		oneCombination.pop_back();
	}
}
};

leetcode测试运行时间不到1ms

leetcode 216: Combination Sum III

leetcode 216: Combination Sum III java python c++
  • xudli
  • xudli
  • 2015年05月29日 09:17
  • 5735

[LeetCode 216] Combination Sum III

Find all possible combinations of k numbers that add up to a number n, given that only numbers from...
  • sbitswc
  • sbitswc
  • 2015年09月16日 15:35
  • 2047

回溯详解及其应用:Leetcode 39 combination sum

原理 初入门 基本定义和概念 举栗子 编程思路 实践 生成符合规范的括号 combination sum n queen原理初入门有时会遇到这样一类题目,它的问题可以分解,但是又不能得出明确的动态规划...
  • c602273091
  • c602273091
  • 2017年01月31日 16:47
  • 383

leetcode 216 Combination Sum III java 算法

题目描述: 给一个正整数n,将其分解为k个数的加和,找出所有的k个数的组合,并且这些组合相互唯一,例如1,2,3和3,2,1视为同一组 算法思路: 当选择添加这k个数中的第m个数时,则第m个数可...
  • austyjt
  • austyjt
  • 2016年07月15日 16:09
  • 160

Leetcode #39. Combination Sum 组合求和 解题报告

1 解题思想原题是说给定一些数字和一个目标值,从这些数字中挑选几个加起来,加起来后他的和正好等于目标值,其中一个数字可以选择多次。要求输出的不能有重复,并且组内的顺序是不能降序的。这道题首先必须要想到...
  • MebiuW
  • MebiuW
  • 2016年04月10日 23:42
  • 1299

【LEETCODE】216-Combination Sum III [Python]

题目: https://leetcode.com/problems/combination-sum-iii/ Find all possible combinations of k nu...
  • aliceyangxi1987
  • aliceyangxi1987
  • 2016年01月07日 10:55
  • 1099

LeetCode 216. Combination Sum III(数字之和)

原题网址:https://leetcode.com/problems/combination-sum-iii/ Find all possible combinations of k num...
  • jmspan
  • jmspan
  • 2016年05月06日 04:17
  • 329

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

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

[LeetCode39]Combination Sum

Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C wher...
  • sbitswc
  • sbitswc
  • 2014年06月17日 04:15
  • 6145

Combination Sum -- LeetCode

原题链接: http://oj.leetcode.com/problems/combination-sum/  这个题是一个NP问题,方法仍然是N-Queens中介绍的套路。基本思路是先排好序,然后每...
  • linhuanmars
  • linhuanmars
  • 2014年03月10日 03:57
  • 20097
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode][回溯] Combination Sum III
举报原因:
原因补充:

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