关闭

LeetCode77——Combinations

标签: leetcode
1447人阅读 评论(0) 收藏 举报
分类:

LeetCode77——Combinations

题意:

两个数字n和k,找出所有这样的组合:

1.组合中有k个数字

2.组合是递增

3.组合中的数字是{1,2,3,....n} 的子集

为了叙述方便,假设子集为D,子集的大小为k。


那就是回溯了,对D中所有的数字进行k阶全排列,但这个全排列要排除非增序的组合。


代码:

class Solution {
private: 
	void help(int i,int n, int k,vector<int>temp,vector<vector<int>>&result)
	{
		if (temp.size() == k)//k个数
		{
			result.push_back(temp);
			return;
		}
		if (temp.size() > 1 && temp.back() < *(temp.end()-2))//递增
			return;
		for (int index = i+1; index < n+1; index++)//i
		{
			temp.push_back(index);
			help(index , n, k, temp, result);//递归
			temp.pop_back();//一次完成要弹出
		}
	}
public:
	vector<vector<int>> combine(int n, int k) {
		vector<int> temp;
		vector<vector<int>>result;
		help(0, n, k, temp, result);

		return result;
	}
};


0
1
查看评论

leetcode 77. Combinations-排列|递归|非递归|Java|Python

原题链接:77. Combinations 【思路-Java、Python】 采用回溯算法。这是一道 NP 难问题,时间复杂度没办法提高,用一个循环递归处理子问题,问题的终止条件是每个组合中的元素个数达到 k 个: public class Solution { public List>...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2016-06-02 10:43
  • 1892

77 Combinations

题目链接:https://leetcode.com/problems/combinations/题目:Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.For exampl...
  • ChilseaSai
  • ChilseaSai
  • 2015-10-25 16:20
  • 845

LeetCode-77 Combinations(组合)

LeetCode-77 Combinations(组合) Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. ...
  • u011035622
  • u011035622
  • 2015-05-02 12:06
  • 669

LeetCode 77. Combinations 解题报告

77. Combinations My Submissions Question Total Accepted: 67261 Total Submissions: 201946 Difficulty: Medium ...
  • bruce128
  • bruce128
  • 2016-02-18 14:03
  • 1897

Leetcode 77. Combinations 组合算法 解题报告

1 解题思路适逢期末,事情比较多,而且最近心好烦,所以更新不规律了一点,“大姨爹”来了吧。所谓组合问题,可以理解为在1..n个数字里面,选k个数字,那么能选出多少种呢?注意,这里只要求组合,不要求排列,即12和21并不区别。在数学上的话就是C的那个符号了,这里不好表述,排列组合的话就是A那个符号了。...
  • MebiuW
  • MebiuW
  • 2016-05-26 00:18
  • 1077

LeetCode 77 Combinations (Python详解及实现)

【题目】 Given two integers n and k, return allpossible combinations of k numbers out of 1 ... n.   For example, If n = 4 and k = 2, a solution i...
  • yangjingjing9
  • yangjingjing9
  • 2017-08-08 13:50
  • 364

[LeetCode 77] Combinations

题目链接:combinations 相似题型: 1.  [LeetCode 39&40] Combination Sum I & II 2. [LeetCode 78] Subsets 3.  [LeetCode 90] Subs...
  • ever223
  • ever223
  • 2015-03-29 14:11
  • 918

【leetcode】【77】Combinations

一、问题描述 Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For example, If ...
  • xiaoliucool1314
  • xiaoliucool1314
  • 2015-11-26 14:45
  • 426

leetcode-77 Combinations

这题是组合问题,与排列问题(permutation)有些不一样,不过大体思路是一样的,dfs里面套着一个循环 class Solution { public: vector > combine(int n, int k) { vector > res; ...
  • sole_cc
  • sole_cc
  • 2015-04-13 15:57
  • 335

leetcode第一刷_Combinations

生成组合数是初中的知识,没有人不知道。组合数学我认为是最有意思的数学分支,室友应该是这方面的专家,他的纸牌问题我听都听不懂。。 不知道你们是什么感觉,我以看到组合数,马上会想到全排列,这可能是因为当时初中的时候,这两部分知识是放在一起讲的,也确实有一些联系。怎样生成全排列算法课在递归的那部分讲过,...
  • u012792219
  • u012792219
  • 2014-05-10 12:47
  • 1342
    个人资料
    • 访问:644795次
    • 积分:12452
    • 等级:
    • 排名:第1365名
    • 原创:587篇
    • 转载:83篇
    • 译文:1篇
    • 评论:49条
    博客专栏
    最新评论