leetcode 77. Combinations

来源:互联网 发布:四方所 知乎 编辑:程序博客网 时间:2024/06/15 15:26

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],]

经典问题,经典解法。

public List<List<Integer>> combine(int n, int k) {List<List<Integer>> res=new ArrayList<List<Integer>>();List<Integer> list=new ArrayList<Integer>();helper(res, list, 1, n, k);return res;}public void helper(List<List<Integer>> res,List<Integer> list,int beginNum,int n,int k){if(list.size()==k){res.add(new ArrayList<>(list));return;}if(beginNum>n){return;}for(int i=beginNum;i<=n;i++){list.add(i);helper(res, list, i+1, n, k);list.remove(list.size()-1);}}
大神解法也跟我一样的哦。


原创粉丝点击