美食网站网站建设定位,赶集网招聘,免费制作海报的app,广州网络广告推广公司一、组合
题目一#xff1a;77. 组合
77. 组合
给定两个整数 n 和 k#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案 combine 函数初始化结果变量和当前组合变量#xff0c;然后调用 backtrack 函数来生成所有组合。backtrack 函数…一、组合
题目一77. 组合
77. 组合
给定两个整数 n 和 k返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案 combine 函数初始化结果变量和当前组合变量然后调用 backtrack 函数来生成所有组合。backtrack 函数通过添加当前元素到组合中然后递归地调用自身来添加下一个元素来生成组合。当组合的大小达到 k 时它会被添加到结果列表中。 在回溯过程中最近添加的元素会被移除以便于尝试下一个可能的元素。 /** lc appleetcode.cn id77 langcpp** [77] 组合*/// lc codestart
class Solution {
public:vectorvectorint combine(int n, int k) {vectorvectorint result;vectorint combination;backtrack(result, combination, 1, n, k);return result;}void backtrack(vectorvectorint result, vectorint combination, int start, int n, int k) {if (combination.size() k) {result.push_back(combination);return;}for (int i start; i n; i) {combination.push_back(i);backtrack(result, combination, i 1, n, k);combination.pop_back();}}
};
// lc codeend