leetcode_Combinations(回溯模板)

来源:互联网 发布:手提包女士知乎 编辑:程序博客网 时间:2024/06/06 12:30

题意 给定n,k,返回1到n种任意k个数的组合序列。不能重复。

简直就是回溯的模板啊,直接上代码

class Solution {public:    int a[30];    vector<vector<int>> ans;    vector<int> temp;    void find(int index,int num,int n,int k)    {        int i;        if(index>0) temp.push_back(num);        if(index==k)        {            ans.push_back(temp);            return;        }        for(i=num+1;i<=n;i++)        {            if(a[i]==0)            {                a[i]=1;                find(index+1,i,n,k);                a[i]=0;                temp.pop_back();            }        }        return;    }    vector<vector<int>> combine(int n, int k) {        int i,j;        for(i=0;i<30;i++) a[i]=0;        find(0,0,n,k);        return ans;    }};

0 0