mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-06 09:06:51 +08:00
@ -52,12 +52,7 @@ public class RegexMatching {
|
||||
|
||||
// Method 2: Using Recursion and breaking string using virtual index
|
||||
// Time Complexity=0(2^(N+M)) Space Complexity=Recursion Extra Space
|
||||
static boolean regexRecursion(
|
||||
String src,
|
||||
String pat,
|
||||
int svidx,
|
||||
int pvidx
|
||||
) {
|
||||
static boolean regexRecursion(String src, String pat, int svidx, int pvidx) {
|
||||
if (src.length() == svidx && pat.length() == pvidx) {
|
||||
return true;
|
||||
}
|
||||
@ -90,13 +85,7 @@ public class RegexMatching {
|
||||
|
||||
// Method 3: Top-Down DP(Memoization)
|
||||
// Time Complexity=0(N*M) Space Complexity=0(N*M)+Recursion Extra Space
|
||||
static boolean regexRecursion(
|
||||
String src,
|
||||
String pat,
|
||||
int svidx,
|
||||
int pvidx,
|
||||
int[][] strg
|
||||
) {
|
||||
static boolean regexRecursion(String src, String pat, int svidx, int pvidx, int[][] strg) {
|
||||
if (src.length() == svidx && pat.length() == pvidx) {
|
||||
return true;
|
||||
}
|
||||
@ -171,9 +160,7 @@ public class RegexMatching {
|
||||
System.out.println("Method 1: " + regexRecursion(src, pat));
|
||||
System.out.println("Method 2: " + regexRecursion(src, pat, 0, 0));
|
||||
System.out.println(
|
||||
"Method 3: " +
|
||||
regexRecursion(src, pat, 0, 0, new int[src.length()][pat.length()])
|
||||
);
|
||||
"Method 3: " + regexRecursion(src, pat, 0, 0, new int[src.length()][pat.length()]));
|
||||
System.out.println("Method 4: " + regexBU(src, pat));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user