4.Combinations

https://leetcode.com/problems/combinations/

class Solution {
public:
    vector> combine(int n, int k) {
        vector> rst;
        vector sol;
        combine(n, k, 1, sol, rst);
        return rst;
    }
    
    void combine(int n, int k, int start, vector &sol, vector> &rst) {
        if (sol.size() == k) {
            rst.push_back(sol);
            return;
        }
        
        for (int i = start; i <= n; i++) {
            sol.push_back(i);
            combine(n, k, i+1, sol, rst);
            sol.pop_back();
        }
    }
};

你可能感兴趣的:(4.Combinations)