-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSumofSubsets.java
More file actions
25 lines (20 loc) · 850 Bytes
/
SumofSubsets.java
File metadata and controls
25 lines (20 loc) · 850 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class SumofSubsets {
public static void sumOfSubsets(int[] array, int targetSum) {
sumOfSubsets(array, targetSum, 0, 0, "");
}
private static void sumOfSubsets(int[] array, int targetSum, int index, int currentSum, String currentSubset) {
if (index == array.length) {
if (currentSum == targetSum) {
System.out.println("Subset: " + currentSubset + ", Sum: " + currentSum);
}
return;
}
sumOfSubsets(array, targetSum, index + 1, currentSum + array[index], currentSubset + array[index] + " ");
sumOfSubsets(array, targetSum, index + 1, currentSum, currentSubset);
}
public static void main(String[] args) {
int[] array = { 5,10,12,13,15,18 };
int targetSum = 30;
sumOfSubsets(array, targetSum);
}
}