[leetcode] Combination Sum III
阿新 • • 發佈:2019-01-03
簡單題,和前面兩個類似。程式碼如下:
class Solution { public: vector<vector<int>> combinationSum3(int k, int n) { vector<vector<int> > result; vector<int> num; dfs(k, n, result, num, 1); return result; } private: void dfs(int k, int n, vector<vector<int> > &result, vector<int> &num, int cur){ if(n == 0 && k == 0){ result.push_back(num); return; } if(k == 0 || cur > 9 || n < cur) return; num.push_back(cur); dfs(k - 1, n - cur, result, num, cur + 1); num.pop_back(); dfs(k, n, result, num, cur + 1); } };