[leetcode] 77. Combinations 解题报告
2015-12-20 15:31
363 查看
题目链接:https://leetcode.com/problems/combinations/
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:
思路:DFS + 回溯. 每到一个新的位置可以取当前的值, 也可以不取, 这样当我们拿够了k个数就可以加到结果集合中去. 如果当前的位置大于了最大值, 就可以退出了.
代码如下:
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 + 回溯. 每到一个新的位置可以取当前的值, 也可以不取, 这样当我们拿够了k个数就可以加到结果集合中去. 如果当前的位置大于了最大值, 就可以退出了.
代码如下:
class Solution { public: void DFS(int n, int k, int index, vector<int> vec) { if(k <= 0) return result.push_back(vec); if(index > n) return; DFS(n, k, index+1, vec); vec.push_back(index); DFS(n, k-1, index+1, vec); } vector<vector<int>> combine(int n, int k) { if(n <= 0 || k <=0) return {}; DFS(n, k , 1, vector<int>{}); return result; } private: vector<vector<int>> result; };
相关文章推荐
- cocos2dx 动画 一
- How many prime numbers(求素数个数)
- 插件推荐:RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片
- struct结构在声明时对其中的某一项进行初始化
- 阿里感悟(十四)-如何带新员工(转)
- HTML5拖放API(代码展示)
- WordPress菜单“显示选项”无法显示的解决办法
- 我在数据库方面踩过的"坑"
- 二维码生成
- LeetCode 021
- PHP GD库常用功能封装
- Java NIO系列教程(三) Buffer(转)
- shell脚本错误:syntax error near unexpected token '$'\r''
- python核心编程-继承
- C#基础之——C#总观
- WebStorm,Chrome,Nodejs实现Angularjs所见即所得
- 自定义LinkedList集合
- leetcode || Spiral Matrix
- HTML5拖放API(相关实例)
- MySQL 基础常用命令