77. 组合

题目描述

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

你可以按 任何顺序 返回答案。

解题思路

class Solution {
public:
    vector<vector<int>>res;
    vector<int>cur;
    int n,k;
    void bt(int start){
        if(cur.size()==k){res.push_back(cur);return;}
        for(int i=start;i<=n-(k-cur.size())+1;i++){
            cur.push_back(i);
            bt(i+1);
            cur.pop_back();
        }
    }
    vector<vector<int>> combine(int n, int k) {
        this->n=n;this->k=k;bt(1);return res;
    }
};

学习感想