1、思路
该题是 剑指 Offer II 079. 所有子集(DFS) 的一个变形题,其实就是多了一个条件而已。在dfs
的过程中加一个对当前数组长度的判断即可。
2、代码
class Solution {
private:
vector<vector<int>> res;
vector<int> tmp;
public:
void dfs(int i, int n, int k) //从i开始,遍历到n,寻找每个长度为k的不同数组
{
if (tmp.size() == k) //判断长度是否满足
{
res.push_back(tmp);
}
else if (i <= n)
{
tmp.push_back(i);
dfs(i + 1, n, k);
tmp.pop_back();
dfs(i + 1, n, k);
}
}
vector<vector<int>> combine(int n, int k) {
dfs(1, n, k);
return res;
}
};
你好,同学我想问一下就是代码打卡,怎么和你的打卡一样,把这个中文和代码分开,我试过用####加注释,但是中文还是在代码模板里面。可以教一下我不
是这样的。#、##、###这些属于标题,```这个符号中间是代码部分,你把标题写在代码部分之外就可以了。也可以百度一下markdown语法,常用的符号就那么几种,记住就好了。