Combinations

来源:互联网 发布:淘宝联名信用卡怎么用 编辑:程序博客网 时间:2024/06/07 00:24
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

For example,
If n = 4 and k = 2, a solution is:

[  [2,4],  [3,4],  [2,3],  [1,2],  [1,3],  [1,4],]

用DFS的思路做,定义好start,end,depth以及max depth。


class Solution {public:    vector<vector<int> > combine(int n, int k) {        vector< vector<int> > result;        if (n < k) {            return result;        }                vector<int> v;        combineUtil(result, v, 1, n, 0, k);        return result;    }        void combineUtil(vector< vector<int> > &result, vector<int> &v, int start,                    int end, int depth, int maxdep) {                if (depth == maxdep) {            result.push_back(v);            return;        }                for (int i = start; i <=end ; i++) {            v.push_back(i);            combineUtil(result, v, i+1, end, depth+1, maxdep);            v.pop_back();        }                            }    };
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 醉扶归 千里马论坛之独孤求败 牛牛机器人 红包牛牛机器人 牛牛财务 牛牛算账机器人 钙资源 _判断素数Description输入一个正整数r(0 输入一个正整数r(0 全排列 office激活 office2013激活 g_tk C#网络通信 C语言笔试 ucos qt包含文件 科大讯飞java 1,定义一个接口Assaultable(可攻击的),该接口有一个抽象方法attack()。2,定义一 FlyAudioVoice 2023 编写一个应用程序绘制一个如下的操作菜单并实现功能(定义一个类学生表示学生,有成员变量姓名name和年 Minecraft 1204:剔除相关数 平坦衰落信道2FSK差错性能分析 平坦衰落信道 编写一个应用程序绘制一个如下的操作菜单并实现功能(定义一个类学生表示学生,有成员变量姓名name和年 手机是现在人们必不可少、最重要的通讯工具,拥有一款简单、实用、易用的手机通讯录,将会使你的手机更加好 手机是现在人们必不可少、最重要的通讯工具,拥有一款简单、实用、易用的手机通讯录,将会使你的手机更加好 编写一个应用程序绘制一个如下的操作菜单并实现功能(定义一个类学生表示学生,有成员变量姓名name和年 61858 61850 全国市级城市拼音 pycr rpyc pry 安德地产公司 安德地产年报 pycharm安装 高文 李皓