216.组合总和III

1 · · March 20, 2023, 12:39 p.m.
216.组合总和 III题目描述:找出所有相加之和为 n 的 k 个数的组合,且满足只使用数字 1 到 9 每个数字最多使用一次返回所有可能的有效组合列表,不能包含相同的组合两次。数据范围: 2\le k \le 9, 1\le n \le 60 题解:可以直接 dfs 深度为 k ,如果 step>k 直接返回,如果当前解的数量小于 k 也直接返回。注意使用 mask 打标记。代码:123456789101112131415161718192021222324252627282930313233343536class Solution{public: const static int maxn = 1e5 + 10; const static int maxm = 1e5 + 10; const static int INF = 0x3f3f3f3f; vector<vector<int>> ans; void dfs(int mask, int step, int start, int k, int sum, int n, vector<int> &c...