题目描述[原题连接][https://leetcode-cn.com/problems/combination-sum-iii/]
找出所有相加之和为 n
的k
个数的组合。组合中只允许含有 1 - 9
的正整数,并且每种组合中不存在重复的数字。
说明:
所有数字都是正整数。
解集不能包含重复的组合。
示例 1:
输入: k = 3, n = 7
输出: [[1,2,4]]
示例 2:
输入: k = 3, n = 9
输出: [[1,2,6], [1,3,5], [2,3,4]]
算法分析
从1-9一次为开头进行dfs
,当当前的向量vec
长度为k的时候,计算当前向量中所有值的和,判断是否等于目标值n
相等就加入到结果集ans
中,直到遍历遍历到数字9结束,返回结果集;
C++代码
1 | class Solution { |
Java代码
1 | class Solution { |