Longest common subsequence
import java.util.*;
public class LongestcommonSubsequence {
public static int lcs(String str1, String str2, int n, int m) {
if (n == 0 || m == 0) {
return 0;
}
if (str1.charAt(n - 1) == str2.charAt(m - 1)) {
return lcs(str1, str2, n - 1, m - 1) + 1;
} else {
int ans1 = lcs(str1, str2, n - 1, m);
int ans2 = lcs(str1, str2, n, m - 1);
return Math.max(ans1, ans2);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter string 1:");
String str1 = sc.nextLine();
System.out.println("Enter String 2:");
String str2 = sc.nextLine();
int n = str1.length();
int m = str2.length();
System.out.println("The longest common subsequence: " + lcs(str1, str2, n, m));
}
}
Comments
Post a Comment