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,List
>result){
if(target<0)
return;
else if(target==0)
result.add(new ArrayList<>(list));
for(int i=start;i