首页 > 其他 > 详细

77. Combinations(回溯)

时间:2018-04-21 16:53:36      阅读:166      评论:0      收藏:0      [点我收藏+]
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

Example:

Input: n = 4, k = 2
Output:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

 

 1 class Solution {
 2     List<List<Integer>> res = new ArrayList<>();
 3     public List<List<Integer>> combine(int n, int k) {
 4         List<Integer> temp = new ArrayList<Integer>();
 5         help(temp,n,k,1);
 6         return res;
 7             
 8     }
 9     private void help(List<Integer> temp,int n ,int k ,int index){
10         if(k==0){
11             res.add(new ArrayList<Integer>(temp));
12         }
13         for(int i = index;i<=n;i++){
14             temp.add(i);
15             help(temp,n,k-1,i+1);
16             temp.remove(temp.size()-1);
17         }
18     }
19 }

 

77. Combinations(回溯)

原文:https://www.cnblogs.com/zle1992/p/8902020.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!