码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode Combination Sum III

时间:2015-09-29 01:06:14      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

原题链接在这里:https://leetcode.com/problems/combination-sum-iii/

Combination Sum II相似,不同的是中不是所有元素相加,只是k个元素相加。

所以在把item的copy 加到res前需要同时满足item.size() == k 和 target == 0两个条件。

AC Java:

 1 public class Solution {
 2     public List<List<Integer>> combinationSum3(int k, int n) {
 3         List<List<Integer>> res = new ArrayList<List<Integer>>();
 4         if(k <= 0 || n <=0){
 5             return res;
 6         }
 7         int [] candidates = {1,2,3,4,5,6,7,8,9};
 8         helper(k,n,0,candidates,new ArrayList<Integer>(),res);
 9         return res;
10     }
11     private void helper(int k, int n, int start, int [] candidates, List<Integer> item,  List<List<Integer>> res){
12         if(item.size() == k && n==0){
13             res.add(new ArrayList<Integer>(item));
14             return;
15         }
16         if(n<0 || item.size()>k){
17             return;
18         }
19         for(int i = start; i<candidates.length; i++){
20             item.add(candidates[i]);
21             helper(k,n-candidates[i],i+1,candidates,item,res);
22             item.remove(item.size()-1);
23         }
24     }
25 }

 

LeetCode Combination Sum III

标签:

原文地址:http://www.cnblogs.com/Dylan-Java-NYC/p/4845355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!