leetcode77 组合(Medium)

题目来源:leetcode77 组合

题目描述:

给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。

示例:

输入: n = 4, k = 2
输出:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]

解题思路:

回溯

class Solution {
public:
    vector<vector<int>> ans;
    vector<vector<int>> combine(int n, int k) {
        vector<int> track;
        backtrack(n,k,1,track);
        return ans;
    }
    void backtrack(int n,int k,int start,vector<int> &track){
        if(track.size()==k){
            ans.push_back(track);
        }
        for(int i=start;i<=n;i++){
            track.push_back(i);
            backtrack(n,k,i+1,track);
            track.pop_back();
        }
    }
};
posted @ 2020-07-08 18:51  拉里拉里啦啦  阅读(201)  评论(0编辑  收藏  举报