Java: Longest common subsequence

后端 未结 3 2107
谎友^
谎友^ 2020-12-30 18:27

I have following code:

public class LCS1 {

    public static String lcs(String a, String b) {
        String x;
        String y;

        int alen = a.leng         


        
3条回答
  •  既然无缘
    2020-12-30 18:54

    Maybe this will work:

    import java.util.*;
    class Main{
        static int max(int num1,int num2)
        {
         if(num1> num2)
           return num1;
         else
           return num2;
        }
        public static void main(String args[]){
          Scanner sc=newScanner(System.in);
          int n,i,j,count=0;
          String str1,str2;
          System.out.println("Enter String 1");
          str1=sc.nextLine();
          System.out.println("Enter String 2");
          str2=sc.nextLine();
          int row=str1.length();
          int col=str2.length();
          char LCS[]=new char[row+1];
          int c[][]=new int[row+1][col+1];
          for(i=0;i=0&&j>=1;)
         {
            if(c[i][j]!=c[i][j-1])
            {
              LCS[count]=str1.charAt(i-1);
              j--; 
              i--;
              count++;
            }  
            else if(c[i][j]==c[i][j-1])
            {
             j--;
            }
         }
         System.out.print("Longest Common Subsequence :- ");
         for(i=count-1;i>=0;i--)
         {
           System.out.print(LCS[i]);
         }   
         System.out.print(“\n”+“Length OF Subsequence=”+count );
       }
     }
    

提交回复
热议问题