//最长公共子序列
public class LCS {
public static void main(String[] args)
{
String s1 = "ABCBDAB";
String s2 = "BDCABA";
char[] c1 = s1.toCharArray();
char[] c2 = s2.toCharArray();
long start1 = System.currentTimeMillis();
System.out.println(LCS.Recursion(c1, 0, c1.length, c2, 0, c2.length));
long end1 = System.currentTimeMillis();
System.out.println(start1 + " "+(start1-end1));
long start2 = System.currentTimeMillis();
System.out.println(LCS.DP(s1, s2));
long end2 = System.currentTimeMillis();
System.out.println(start2-end2);
String s3 = "CBDARBRR";
System.out.println(LCS.LianXuLcs(s1, s3));
}
//采用递归求解,但是比较耗时
public static int Recursion(char[] s1,int startS1,int lenS1,char[] s2,int startS2,int lenS2)
{
if(startS1 == lenS1 || startS2 == lenS2)
return 0;
else if(s1[startS1] == s2[startS2])
return 1+Recur
LCS算法
最新推荐文章于 2021-05-23 13:54:47 发布