See More

class CombinationSum { public List> combinationSum(int[] candidates, int target) { List>res=new ArrayList(); backtrack(candidates,0,target,new ArrayList(),res);{ return res; }} private void backtrack(int[]cand,int start,int target,Listlist,List>result){ if(target<0) return; else if(target==0) result.add(new ArrayList<>(list)); for(int i=start;i