From c7c3d8be6cf70eb5cc0a71d23a7cbc927465e01a Mon Sep 17 00:00:00 2001 From: tuhin Date: Sat, 5 Oct 2024 21:46:21 +0530 Subject: [PATCH 01/17] feat : new algo uniquesubseqcount --- .../UniqueSubsequencesCount.java | 53 +++++++++++++++++++ .../UniqueSubsequencesCountTest.java | 29 ++++++++++ 2 files changed, 82 insertions(+) create mode 100755 src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java create mode 100755 src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java new file mode 100755 index 000000000000..80e175148bec --- /dev/null +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -0,0 +1,53 @@ +package com.thealgorithms.dynamicprogramming; + +// Program to find the number of Subsequences can be produced from a string + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +// Author -> https://github.com/Tuhinm2002 + +public class UniqueSubsequencesCount { + + private UniqueSubsequencesCount() { + throw new UnsupportedOperationException("Utility class"); + } + + public static int subseqCount(String str) { + int[] dp = new int[str.length() + 1]; + for (int i : dp) { + Arrays.fill(dp, -1); + } + int ans = recursiveCall(str, 0, dp); + return ans; + } + + public static int recursiveCall(String st, int idx, int[] dp) { + + if (idx >= st.length()) { + return 0; + } + + if (dp[idx] != -1) { + return dp[idx]; + } + + Set set = new HashSet<>(); + + int res = 0; + + for (int j = idx; j < st.length(); j++) { + + if (set.contains(st.charAt(j))) { + continue; + } + + set.add(st.charAt(j)); + + res = 1 + recursiveCall(st, j + 1, dp) + res; + } + + return dp[idx] = res; + } +} diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java new file mode 100755 index 000000000000..b1d822af5f3f --- /dev/null +++ b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java @@ -0,0 +1,29 @@ +package com.thealgorithms.dynamicprogramming; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +public class UniqueSubsequencesCountTest { + + @Test + void subseqCountTestOne() { + String s = "abc"; + + assertEquals(7, UniqueSubsequencesCount.subseqCount(s)); + } + + @Test + void subseqCountTestTwo() { + String s = "abcdashgdhas"; + + assertEquals(3592, UniqueSubsequencesCount.subseqCount(s)); + } + + @Test + void subseqCountTestThree() { + String s = "aaaaa"; + + assertEquals(5, UniqueSubsequencesCount.subseqCount(s)); + } +} From d12468003e4ac50a2bbf4886a67cf71a9bb4f2f1 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Sat, 5 Oct 2024 21:50:22 +0530 Subject: [PATCH 02/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index 80e175148bec..099fbfae1e87 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -8,7 +8,7 @@ // Author -> https://github.com/Tuhinm2002 -public class UniqueSubsequencesCount { +public final class UniqueSubsequencesCount { private UniqueSubsequencesCount() { throw new UnsupportedOperationException("Utility class"); From d99c476099152028cd682efe755194ec6ddab0fc Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Sat, 5 Oct 2024 21:50:34 +0530 Subject: [PATCH 03/17] Update UniqueSubsequencesCountTest.java --- .../dynamicprogramming/UniqueSubsequencesCountTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java index b1d822af5f3f..171f2d28db8a 100755 --- a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.Test; -public class UniqueSubsequencesCountTest { +public final class UniqueSubsequencesCountTest { @Test void subseqCountTestOne() { From 33f06a876ec9533f11e4a57658c549b07baa53ca Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Sat, 5 Oct 2024 21:55:32 +0530 Subject: [PATCH 04/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index 099fbfae1e87..b3de7e17e7e4 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -14,13 +14,17 @@ private UniqueSubsequencesCount() { throw new UnsupportedOperationException("Utility class"); } + private static int[] dp; + public static int subseqCount(String str) { - int[] dp = new int[str.length() + 1]; + + dp = new int[str.length() + 1]; + for (int i : dp) { Arrays.fill(dp, -1); } - int ans = recursiveCall(str, 0, dp); - return ans; + + return recursiveCall(str, 0, dp); } public static int recursiveCall(String st, int idx, int[] dp) { From 892e365fd8568b93a4669b3643a6086a8ead4b41 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Sat, 5 Oct 2024 22:06:11 +0530 Subject: [PATCH 05/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index b3de7e17e7e4..d1b239d219cb 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -19,10 +19,7 @@ private UniqueSubsequencesCount() { public static int subseqCount(String str) { dp = new int[str.length() + 1]; - - for (int i : dp) { - Arrays.fill(dp, -1); - } + Arrays.fill(dp, -1); return recursiveCall(str, 0, dp); } From 78584432643405c12529163ddd5521d6c39cee55 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Sat, 5 Oct 2024 22:13:10 +0530 Subject: [PATCH 06/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index d1b239d219cb..8ec4af937370 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -14,11 +14,11 @@ private UniqueSubsequencesCount() { throw new UnsupportedOperationException("Utility class"); } - private static int[] dp; + private static Set set = new HashSet<>(); public static int subseqCount(String str) { - dp = new int[str.length() + 1]; + int[] dp = new int[str.length() + 1]; Arrays.fill(dp, -1); return recursiveCall(str, 0, dp); @@ -34,7 +34,7 @@ public static int recursiveCall(String st, int idx, int[] dp) { return dp[idx]; } - Set set = new HashSet<>(); + set = new HashSet<>(); int res = 0; From 569cc1c83fbeacdabbd7ca0e075957bb03bc1aa2 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Sat, 5 Oct 2024 22:17:19 +0530 Subject: [PATCH 07/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index 8ec4af937370..13967972ba15 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -14,8 +14,6 @@ private UniqueSubsequencesCount() { throw new UnsupportedOperationException("Utility class"); } - private static Set set = new HashSet<>(); - public static int subseqCount(String str) { int[] dp = new int[str.length() + 1]; @@ -34,7 +32,7 @@ public static int recursiveCall(String st, int idx, int[] dp) { return dp[idx]; } - set = new HashSet<>(); + Set set = new HashSet<>(); int res = 0; @@ -49,6 +47,7 @@ public static int recursiveCall(String st, int idx, int[] dp) { res = 1 + recursiveCall(st, j + 1, dp) + res; } - return dp[idx] = res; + dp[idx] = res; + return dp[idx]; } } From 3b8d047bca62da2877b24477af64155bdc681e4a Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Mon, 7 Oct 2024 22:01:11 +0530 Subject: [PATCH 08/17] Update UniqueSubsequencesCount.java --- .../UniqueSubsequencesCount.java | 53 +++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index 13967972ba15..948454c9eb7b 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -1,52 +1,97 @@ package com.thealgorithms.dynamicprogramming; -// Program to find the number of Subsequences can be produced from a string - import java.util.Arrays; import java.util.HashSet; import java.util.Set; -// Author -> https://github.com/Tuhinm2002 - +/** + * Utility class to find the number of unique subsequences that can be + * produced from a given string. + * + *

This class contains static methods to compute the unique subsequence count + * using dynamic programming and recursion. It ensures that duplicate characters + * are not counted multiple times in the subsequences.

+ * + *

@author Author: https://github.com/Tuhinm2002

+ */ public final class UniqueSubsequencesCount { + /** + * Private constructor to prevent instantiation of this utility class. + * This class should only be used in a static context. + * + * @throws UnsupportedOperationException if attempted to instantiate. + */ private UniqueSubsequencesCount() { throw new UnsupportedOperationException("Utility class"); } + /** + * Finds the number of unique subsequences that can be generated from + * the given string. + * + *

This method initializes a dynamic programming (DP) array and invokes + * the recursive helper function to compute the subsequence count.

+ * + * @param str the input string from which subsequences are generated + * @return the total count of unique subsequences + */ public static int subseqCount(String str) { + // DP array initialized to store intermediate results int[] dp = new int[str.length() + 1]; Arrays.fill(dp, -1); + // Calls the recursive function to compute the result return recursiveCall(str, 0, dp); } + /** + * Recursive helper function to count the number of unique subsequences + * starting from the given index. + * + *

Uses a HashSet to avoid counting duplicate characters within + * a single subsequence.

+ * + * @param st the input string + * @param idx the current index from which to calculate subsequences + * @param dp dynamic programming array used to memoize results + * @return the total number of unique subsequences starting from the + * current index + */ public static int recursiveCall(String st, int idx, int[] dp) { + // Base case: when index exceeds the string length if (idx >= st.length()) { return 0; } + // If result is already calculated, return the memoized value if (dp[idx] != -1) { return dp[idx]; } + // Set to store characters to avoid duplicates Set set = new HashSet<>(); int res = 0; + // Iterate over the string starting from current index for (int j = idx; j < st.length(); j++) { + // If character is already in the set, skip it if (set.contains(st.charAt(j))) { continue; } + // Add character to set and recursively calculate subsequences set.add(st.charAt(j)); + // 1 for the current subsequence + recursive call for the rest of the string res = 1 + recursiveCall(st, j + 1, dp) + res; } + // Memoize the result dp[idx] = res; return dp[idx]; } From 735077dbfbac5e1dc369e2f04c989e83df6dd13f Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Mon, 7 Oct 2024 22:08:07 +0530 Subject: [PATCH 09/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index 948454c9eb7b..2f427a750607 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -36,7 +36,7 @@ private UniqueSubsequencesCount() { * @param str the input string from which subsequences are generated * @return the total count of unique subsequences */ - public static int subseqCount(String str) { + public static int countSubsequences(String str) { // DP array initialized to store intermediate results int[] dp = new int[str.length() + 1]; From 8819fdb87825e4c85cdbb61a7e19f47162609d6e Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Mon, 7 Oct 2024 22:16:50 +0530 Subject: [PATCH 10/17] Update UniqueSubsequencesCountTest.java --- .../UniqueSubsequencesCountTest.java | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java index 171f2d28db8a..c10431a0aef9 100755 --- a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java @@ -4,26 +4,52 @@ import org.junit.jupiter.api.Test; -public final class UniqueSubsequencesCountTest { +public class UniqueSubsequencesCountTest { @Test void subseqCountTestOne() { String s = "abc"; - assertEquals(7, UniqueSubsequencesCount.subseqCount(s)); + assertEquals(7, UniqueSubsequencesCount.countSubsequences(s)); } @Test void subseqCountTestTwo() { String s = "abcdashgdhas"; - assertEquals(3592, UniqueSubsequencesCount.subseqCount(s)); + assertEquals(3592, UniqueSubsequencesCount.countSubsequences(s)); } @Test void subseqCountTestThree() { - String s = "aaaaa"; + String s = "a"; - assertEquals(5, UniqueSubsequencesCount.subseqCount(s)); + assertEquals(1, UniqueSubsequencesCount.countSubsequences(s)); + } + + @Test + void subseqCountTestFour() { + String s = "a b"; + + assertEquals(7, UniqueSubsequencesCount.countSubsequences(s)); + } + + @Test + void subseqCountTestFive() { + String s = "a1b2"; + + assertEquals(15, UniqueSubsequencesCount.countSubsequences(s)); + } + + @Test + void subseqCountTesSix() { + String s = "AaBb"; + assertEquals(15, UniqueSubsequencesCount.countSubsequences(s)); + } + + @Test + void subseqCountTesSeven() { + String s = "abab"; + assertEquals(11, UniqueSubsequencesCount.countSubsequences(s)); } } From ed36d8ab80f2f78306f9037e669681c38ee79041 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Mon, 7 Oct 2024 22:28:28 +0530 Subject: [PATCH 11/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index 2f427a750607..a292f942f3e4 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -12,7 +12,7 @@ * using dynamic programming and recursion. It ensures that duplicate characters * are not counted multiple times in the subsequences.

* - *

@author Author: https://github.com/Tuhinm2002

+ *

Author: https://github.com/Tuhinm2002

*/ public final class UniqueSubsequencesCount { From 697c1086ce133b1ab970872f5d62b699bdd85e03 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:16:00 +0530 Subject: [PATCH 12/17] Update UniqueSubsequencesCountTest.java --- .../UniqueSubsequencesCountTest.java | 52 +++---------------- 1 file changed, 6 insertions(+), 46 deletions(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java index c10431a0aef9..76bb061d298b 100755 --- a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java @@ -2,54 +2,14 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; public class UniqueSubsequencesCountTest { - @Test - void subseqCountTestOne() { - String s = "abc"; - - assertEquals(7, UniqueSubsequencesCount.countSubsequences(s)); - } - - @Test - void subseqCountTestTwo() { - String s = "abcdashgdhas"; - - assertEquals(3592, UniqueSubsequencesCount.countSubsequences(s)); - } - - @Test - void subseqCountTestThree() { - String s = "a"; - - assertEquals(1, UniqueSubsequencesCount.countSubsequences(s)); - } - - @Test - void subseqCountTestFour() { - String s = "a b"; - - assertEquals(7, UniqueSubsequencesCount.countSubsequences(s)); - } - - @Test - void subseqCountTestFive() { - String s = "a1b2"; - - assertEquals(15, UniqueSubsequencesCount.countSubsequences(s)); - } - - @Test - void subseqCountTesSix() { - String s = "AaBb"; - assertEquals(15, UniqueSubsequencesCount.countSubsequences(s)); - } - - @Test - void subseqCountTesSeven() { - String s = "abab"; - assertEquals(11, UniqueSubsequencesCount.countSubsequences(s)); + @ParameterizedTest + @CsvSource({"abc, 7", "abcdashgdhas, 3592", "a, 1", "'a b', 7", "a1b2, 15", "AaBb, 15", "abab, 11"}) + private void subseqCountParameterizedTest(String input, int expected) { + assertEquals(expected, UniqueSubsequencesCount.countSubsequences(input)); } } From 002d55f224522abf8f094e8deede21c18f0fd29f Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:17:49 +0530 Subject: [PATCH 13/17] Update UniqueSubsequencesCount.java --- .../dynamicprogramming/UniqueSubsequencesCount.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java index a292f942f3e4..8c7ea6179e3f 100755 --- a/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java +++ b/src/main/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCount.java @@ -36,14 +36,14 @@ private UniqueSubsequencesCount() { * @param str the input string from which subsequences are generated * @return the total count of unique subsequences */ - public static int countSubsequences(String str) { + public static int countSubseq(String str) { // DP array initialized to store intermediate results int[] dp = new int[str.length() + 1]; Arrays.fill(dp, -1); // Calls the recursive function to compute the result - return recursiveCall(str, 0, dp); + return countSubsequences(str, 0, dp); } /** @@ -59,7 +59,7 @@ public static int countSubsequences(String str) { * @return the total number of unique subsequences starting from the * current index */ - public static int recursiveCall(String st, int idx, int[] dp) { + public static int countSubsequences(String st, int idx, int[] dp) { // Base case: when index exceeds the string length if (idx >= st.length()) { @@ -88,7 +88,7 @@ public static int recursiveCall(String st, int idx, int[] dp) { set.add(st.charAt(j)); // 1 for the current subsequence + recursive call for the rest of the string - res = 1 + recursiveCall(st, j + 1, dp) + res; + res = 1 + countSubsequences(st, j + 1, dp) + res; } // Memoize the result From 1536eeb29e1c7f210375e8f6d64d4cecf94aed5d Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:18:07 +0530 Subject: [PATCH 14/17] Update UniqueSubsequencesCountTest.java --- .../dynamicprogramming/UniqueSubsequencesCountTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java index 76bb061d298b..5f78cd8b3008 100755 --- a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java @@ -10,6 +10,6 @@ public class UniqueSubsequencesCountTest { @ParameterizedTest @CsvSource({"abc, 7", "abcdashgdhas, 3592", "a, 1", "'a b', 7", "a1b2, 15", "AaBb, 15", "abab, 11"}) private void subseqCountParameterizedTest(String input, int expected) { - assertEquals(expected, UniqueSubsequencesCount.countSubsequences(input)); + assertEquals(expected, UniqueSubsequencesCount.countSubseq(input)); } } From 5288a5a68dc65a0d17bed4adcb8aee26ade99b56 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:23:43 +0530 Subject: [PATCH 15/17] Update UniqueSubsequencesCountTest.java From 827b4d2df5daf53b70061a9b37aa28c8c90534f0 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:26:51 +0530 Subject: [PATCH 16/17] Update UniqueSubsequencesCountTest.java --- .../dynamicprogramming/UniqueSubsequencesCountTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java index 5f78cd8b3008..049804f58b5a 100755 --- a/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java +++ b/src/test/java/com/thealgorithms/dynamicprogramming/UniqueSubsequencesCountTest.java @@ -9,7 +9,7 @@ public class UniqueSubsequencesCountTest { @ParameterizedTest @CsvSource({"abc, 7", "abcdashgdhas, 3592", "a, 1", "'a b', 7", "a1b2, 15", "AaBb, 15", "abab, 11"}) - private void subseqCountParameterizedTest(String input, int expected) { + void subseqCountParameterizedTest(String input, int expected) { assertEquals(expected, UniqueSubsequencesCount.countSubseq(input)); } } From 574fcf4e27c5b4a4597b7fb26b84f59b177e1f10 Mon Sep 17 00:00:00 2001 From: Tuhinm2002 <75078694+Tuhinm2002@users.noreply.github.com> Date: Tue, 8 Oct 2024 10:32:16 +0530 Subject: [PATCH 17/17] Update UniqueSubsequencesCount.java