Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public List<List<Integer>> helper(List<List<Integer>> res, int[] c, int l, int h, int target, List<Integer> temp){
- if(target == 0){
- res.add(temp);
- System.out.println(temp);
- return res;
- }
- if(target < c[l]){
- return res;
- }
- for(int i = l; i <=h; i++){
- temp.add(c[i]);
- res = helper(res, c,i,h,target-c[i], temp);
- temp.remove(temp.size()-1);
- }
- return res;
- }
- List<List<Integer>> res = new ArrayList<List<Integer>>();
- List<Integer> temp = new ArrayList<Integer>();
- res = helper(res,candidates, 0, candidates.length-1, target, temp);
- [1, 1, 1, 1, 1, 1]
- [1, 1, 1, 1, 2]
- [1, 1, 1, 3]
- [1, 1, 2, 2]
- [1, 2, 3]
- [2, 2, 2]
- [3, 3]
- res is [[],[],[],[],[],[],[]]
- if(target == 0){
- ArrayList<Integer> copy = new ArrayList<>(temp);
- res.add(copy);
- return res;
- }
- public static List<List<Integer>> helper(List<List<Integer>> res, int[] c, int l, int h, int target, List<Integer> temp){
- if(target == 0){
- res.add(temp);
- System.out.println(temp);
- return res;
- }
- if(target < c[l]){
- return res;
- }
- for(int i = l; i <=h; i++){
- temp.add(c[i]);
- res = helper(res, c,i,h,target-c[i], new ArrayList<Integer>(temp));
- temp.remove(temp.size()-1);
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement