216 Combination Sum III 組合總和 III
阿新 • • 發佈:2018-04-09
com highlight ack 示例 push_back light bin 個數 i+1
找出所有可能的 k 個數,使其相加之和為 n,只允許使用數字1-9,並且每一種組合中的數字是唯一的。
示例 1:
輸入: k = 3, n = 7
輸出:
[[1,2,4]]
示例 2:
輸入: k = 3, n = 9
輸出:
[[1,2,6], [1,3,5], [2,3,4]]
詳見:https://leetcode.com/problems/combination-sum-iii/description/
class Solution { public: vector<vector<int>> combinationSum3(int k, int n) { vector<vector<int>> res; vector<int> out; helper(k,n,1,out,res); return res; } void helper(int k,int n,int start,vector<int> &out,vector<vector<int>> &res) { if(n<0) { return; } if(n==0&&out.size()==k) { res.push_back(out); } for(int i=start;i<=9;++i) { out.push_back(i); helper(k,n-i,i+1,out,res); out.pop_back(); } } };
216 Combination Sum III 組合總和 III