leetcode--Combinations

来源:互联网 发布:移动机顶盒软件下载 编辑:程序博客网 时间:2024/06/08 11:03

Given two integers n and k, return all possible combinations ofk 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 class Solution {    public List<List<Integer>> combine(int n, int k) {List<List<Integer>> res = new ArrayList<List<Integer>>();if(n<=0 || n<k)  return res;helper(n, k, 1, new ArrayList<Integer>(),res);return res;    }public void helper(int n,int k,int start,List<Integer> item,List<List<Integer>> res){if(item.size()==k){res.add(new ArrayList<Integer>(item));return;}for(int i=start;i<=n;i++){item.add(i);helper(n, k, i+1, item,res);item.remove(item.size()-1);}}}


0 0
原创粉丝点击