Skip to content

Commit 61e69d2

Browse files
author
github-actions
committed
Format: Google java formatter
1 parent e5d5137 commit 61e69d2

File tree

2 files changed

+17
-18
lines changed

2 files changed

+17
-18
lines changed

DynamicProgramming/CountOfSubsetsWithAGivenDifference/Solution.java

+5-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
/**
66
* * Count of Subsets With A Given Difference (Variation of 0/1 Knapsack)
77
*/
8-
98
public class Solution {
109
public int countOfSubsets(int[] array, int difference) {
1110
int sum = Arrays.stream(array).sum();
@@ -15,20 +14,20 @@ public int countOfSubsets(int[] array, int difference) {
1514

1615
/**
1716
* * Dynamic Programming Approach
18-
*
17+
*
1918
* * TC: O(ns)
2019
* * SC: O(ns)
2120
*/
2221
private int countOfSubsetsDP(int[] array, int sum, int difference) {
2322
/**
2423
* Equation I: S1 - S2 = difference
2524
* Equation II: S1 + S2 = sum(array)
26-
*
25+
*
2726
* Adding I and II,
28-
*
27+
*
2928
* 2S1 = sum(array) + difference
3029
* so, S1 = (sum(array) + difference) / 2
31-
*
30+
*
3231
* Now, we need to find the count of
3332
* subsets equal to a given sum, which
3433
* is S1
@@ -71,4 +70,4 @@ public static void main(String[] args) {
7170

7271
System.out.println(solution.countOfSubsets(new int[] {1, 1, 2, 3}, 1));
7372
}
74-
}
73+
}

DynamicProgramming/MinimumSubsetSumDifference/Solution.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
/**
66
* * Minimum Subset Sum Difference (Extension of 0/1 Knapsack)
77
*/
8-
98
public class Solution {
109
public int minimumSubsetSumDifference(int[] array) {
1110
int sum = Arrays.stream(array).sum();
@@ -22,7 +21,7 @@ public int minimumSubsetSumDifference(int[] array) {
2221

2322
/**
2423
* * Dynamic Programming Approach
25-
*
24+
*
2625
* * TC: O(ns)
2726
* * SC: O(ns)
2827
*/
@@ -66,11 +65,12 @@ private boolean[] subsetSum(int[] array, int sum) {
6665

6766
/**
6867
* * Memoization Approach
69-
*
68+
*
7069
* * TC: O(ns)
7170
* * SC: O(ns)
7271
*/
73-
// private int minimumSubsetSumDifferenceMem(int index, int[] array, int sumOne, int sumTwo, int[][] cache) {
72+
// private int minimumSubsetSumDifferenceMem(int index, int[] array, int sumOne, int sumTwo,
73+
// int[][] cache) {
7474
// if (index == 0)
7575
// return Math.abs(sumOne - sumTwo);
7676

@@ -87,19 +87,19 @@ private boolean[] subsetSum(int[] array, int sum) {
8787

8888
/**
8989
* * Recursive Approach
90-
*
90+
*
9191
* * TC: O(2^n) approximately
9292
* * SC: O(2^n) approximately
9393
*/
9494
// private int minimumSubsetSumDifferenceRec(int index, int[] array, int sumOne, int sumTwo) {
9595
// if (index == 0) return Math.abs(sumOne - sumTwo);
9696

97-
// return Math.min(
98-
// minimumSubsetSumDifferenceRec(
99-
// index - 1, array, sumOne - array[index - 1], sumTwo + array[index - 1]
100-
// ),
101-
// minimumSubsetSumDifferenceRec(index - 1, array, sumOne, sumTwo)
102-
// );
97+
// return Math.min(
98+
// minimumSubsetSumDifferenceRec(
99+
// index - 1, array, sumOne - array[index - 1], sumTwo + array[index - 1]
100+
// ),
101+
// minimumSubsetSumDifferenceRec(index - 1, array, sumOne, sumTwo)
102+
// );
103103
// }
104104

105105
public static void main(String[] args) {
@@ -109,6 +109,6 @@ public static void main(String[] args) {
109109
System.out.println(solution.minimumSubsetSumDifference(new int[] {1, 6, 5, 11}));
110110

111111
// should be 1
112-
System.out.println(solution.minimumSubsetSumDifference(new int[] {2,7,4,1,8,1}));
112+
System.out.println(solution.minimumSubsetSumDifference(new int[] {2, 7, 4, 1, 8, 1}));
113113
}
114114
}

0 commit comments

Comments
 (0)