Leetcode 77. 组合(中等)回溯算法
题目:
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
输入:n = 4, k = 2
* 输出:
* [
* [2,4],
* [3,4],
* [2,3],
* [1,2],
* [1,3],
* [1,4],
* ]
思路:
在回溯时使用start变量来确定起点
class Solution { public: vector<vector<int>> combine(int n, int k) { vector<int> track; backtrack(n,k,track,1); return ret; } void backtrack(int n,int k,vector<int>& track, int index){ if(track.size()==k){ ret.push_back(track); return; } for(int i=index;i<=n;++i){ track.push_back(i); backtrack(n,k,track,i+1); track.pop_back(); } } vector<vector<int>> ret; };
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=