Advertisement
kaamilp

Untitled

Apr 3rd, 2020
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1. package pl.polsl.kamilplewniok;
  2.  
  3. public class Main {
  4.  
  5.     private static void printLcs(String b[][], String X, int i,int j){
  6.         if(i==0 || j==0)
  7.             return;
  8.         if(b[i][j].equals("\\")){
  9.  
  10.             printLcs(b,X,i-1,j-1);
  11.             System.out.println(X.charAt(i));
  12.  
  13.         }else{
  14.             if(b[i][j].equals("|")){
  15.                 printLcs(b,X,i-1,j);
  16.             }else{
  17.                 printLcs(b,X,i,j-1);
  18.             }
  19.         }
  20.     }
  21.  
  22.        
  23.     public static void main(String[] args) {
  24.         String A = " RJAKMDF";
  25.         String B = " KAJRNCM";
  26.         int c[][] = new int[A.length()][B.length()];
  27.         String b[][] = new String[A.length()][B.length()];
  28.        
  29.         long startTime = System.nanoTime();
  30.        
  31.         for(int i=0;i<A.length();i++){
  32.             c[i][0]=0;
  33.         }
  34.         for(int i=0;i<B.length();i++){
  35.             c[0][i]=0;
  36.         }
  37.  
  38.         for (int i = 1; i < A.length(); i++) {
  39.             for (int j = 1; j < B.length(); j++) {
  40.                 if (A.charAt(i) == B.charAt(j)) {
  41.                     c[i][j] = c[i - 1][j - 1] + 1;
  42.                     b[i][j] = "\\";
  43.                 } else {
  44.                     if (c[i - 1][j] >= c[i][j - 1]) {
  45.                         c[i][j] = c[i - 1][j];
  46.                         b[i][j] = "|";
  47.                     } else {
  48.                         c[i][j] = c[i][j - 1];
  49.                         b[i][j] = "-";
  50.                     }
  51.                 }
  52.             }
  53.         }
  54.         long endTime = System.nanoTime();
  55.         long time = endTime - startTime;
  56.         printLcs(b,A,A.length()-1,B.length()-1);
  57.         System.out.println("Execution time of in nanoseconds: " + time);
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement