首页 > 代码库 > LeetCode-Combinations

LeetCode-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:[  [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>> list=new ArrayList<List<Integer>>();        List<Integer> item=new ArrayList<Integer>();        backTracking(n, k, 1, item, list);        return list;    }        public void backTracking(int n, int k, int start, List<Integer> item, List<List<Integer>> list){        if(item.size()==k){            list.add(new ArrayList<Integer>(item));            return;        }        for(int i=start; i<=n; i++){            item.add(i);            backTracking(n, k, i+1, item, list);            item.remove(item.size()-1);        }            }}

 

LeetCode-Combinations