我正在尝试将“列出字符串中的所有组合”问题修改为我们需要打印具有给定“总和”的所有集合的问题。这是我的初始代码,但我不确定如何在代码中保存集合列表:
/**
* method to return all sets with a given sum.
**/
public static List<List<Integer>> lists = new ArrayList<>();
public static List<Integer> list = new ArrayList<Integer>();
public static void countSubsetSum3(int arr[], int k, int sum) {
if(sum == 0) {
return;
}
if(sum != 0 && k == 0) {
return;
}
if(sum < arr[k - 1]) {
countSubsetSum3(arr, k-1, sum);
}
countSubsetSum3(arr, k-1, sum - arr[k-1]);
countSubsetSum3(arr, k-1, sum);
}
我们如何修改此代码以使其打印具有总和“总和”的所有可能集合。谢谢!