Combination
46 Combination
public List<List<Integer>> combinationSum(int[] num, int target) {
List<List<Integer>> ans = new ArrayList<>();
Arrays.sort(num);
dfs(num, ans, new ArrayList<Integer>(), 0, target);
return ans;
}
private void dfs(int[] num,
List<List<Integer>> ans,
List<Integer> list,
int start,
int remain
){
if (remain < 0){
return;
}else if(remain == 0){
ans.add(new ArrayList<>(list));
}else{
for (int i=start; i<num.length; i++){
list.add(num[i]);
dfs(num, ans, list, i, remain-num[i]);
list.remove(list.size()-1);
}
}
}47 Combination II
Last updated