[Lintcode]Combinations

原创 2016年08月28日 16:44:33

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

Example

For example,
If n = 4 and k = 2, a solution is:
[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]

直接递归计算。


public class Solution {
    /**
     * @param n: Given the range of numbers
     * @param k: Given the numbers of combinations
     * @return: All the combinations of k numbers out of 1..n
     */
    public List<List<Integer>> combine(int n, int k) {
		if(k > n) return null;
		List<List<Integer>> res = new ArrayList<List<Integer>>();
		helper(res, new ArrayList<Integer>(), n, k, 1);
		return res;
    }
    
    void helper(List<List<Integer>> res, List<Integer> list, int n, int k, int index) {
        if(k == 0){
            res.add(new ArrayList<Integer>(list));
            return;
        }
        for(int i = index; i <= n; i++) {
            list.add(i);
            helper(res, list, n, k - 1, i + 1);
            list.remove(list.size() - 1);
        }
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Combinations

好久没更新。 最近主要忙几件事情: 帮老师

Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exa...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Combinations

题目名称 Merge Sorted Array—LeetCode链接描述 Given two integers n and k, return all possible combinations ...

Combinations

combination 的6种解法

Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For examp...

Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. 典型的DFS,循环...

Combinations

【题目】 Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For e...

LintCode

两个字符串是变位词 比较字符串两个字符串是变位词import java.util.Arrays; public class Solution { /** * @param s: Th...

LeetCode: Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exam...

LeetCode: Combinations

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)