• Combinations


    class Solution {
    public:
        vector<vector<int> > combine(int n, int k) {
        vector<vector<int> > vv;
        vector<int> v;
        if(k<=0) return vv;
        if(k==1) {
            for(int k=1;k<=n;k++)
            {v.push_back(k);
             vv.push_back(v);
             v.clear();
            }
            return vv;
         }
         return get_part(1,n,k);
        }
       
       vector<vector<int> > get_part(int m, int n,int k) {
        cout<<"enter"<<m<<" "<<n<<" "<<k<<" "<<endl;
        vector<vector<int> > vv;
        vector<vector<int> > vv1;
        vector<vector<int> > vv2;
        vector<int> v;
        if(k<=0) return vv;
        if(k>n) return vv;
        if(k==n) {
            for(int kk=1;kk<=n;kk++)
            {
                v.push_back(kk);
            }
            vv.push_back(v);
            return vv;
        }
        if(k==1) {   //here is key
            for(int kk=1;kk<=n;kk++)
            {v.push_back(kk);
                vv.push_back(v);
                v.clear();
            }
            for(int idx=0;idx<vv.size();idx++)
            {
                for(int idx_j=0;idx_j<vv[idx].size();idx_j++)
                    cout<<vv[idx][idx_j]<<"---";
                cout<<endl;
            }
            return vv;
        }
    
        int i=n;
    //    for(int i=n;i>=k;i--)
        {
            vv2=get_part(m,i-1,k-1);
            for(int  j=0;j<vv2.size();j++)
            {
                vv2[j].push_back(i);
            }
            for(int  j=0;j<vv2.size();j++)
                vv.push_back(vv2[j]);
        
             vv1=get_part(m,i-1,k);
        
            for(int  j=0;j<vv1.size();j++)
                vv.push_back(vv1[j]);
        
            
        }
        return vv;
    }
    };
  • 相关阅读:
    SignalR + MVC5 简单示例
    SignalR 简单示例
    Web API 简单示例
    Windows Azure 使用体验
    SQL Server 2014 安装小记
    SSRS 迁移
    SSH配置(同一服务器不同用户)
    【6】Zookeeper脚本及API
    【3】Kafka安装及部署
    【2】Kafka概念及原理
  • 原文地址:https://www.cnblogs.com/julie-yang/p/4694121.html
Copyright © 2020-2023  润新知