Algorytm najdłuższy wspólny podciąg

0

Witam , mam algorytm obliczający najdłuższy wspólny podciąg. Wypisuje mi długość tego podciągu, ale nie wiem jak napisać aby wypisywało mi litery tego najdłuższego podciągu do pliku. W danych wejściowych podane jest
ABRAKADABR
BANARABA


String A = sc.nextLine();
String B = sc.nextLine();
int C[][]=new int[A.length()][B.length()];
        for (int i=0;i<A.length();i++)
            for (int j=0;j<B.length();j++)
                C[i][j]=0;
        for (int i=1;i<A.length();i++) 
            for (int j=1;j<B.length();j++) {
                if (A.charAt(i)==B.charAt(j)) 
                    C[i][j]=C[i-1][j-1]+1;
                else C[i][j]=Math.max
                     (C[i-1][j],C[i][j-1]);
            }
0

Tego sposobu raczej nie Zmodyfikujesz, Musisz znajść funkcję dającą wszystkie substringi danego, iterować od największego i pytać czy jest substringiem drugiego(ta druga funkcja na pewno jest w bibliotece).

0

Ten algorytm zdaje się zawierać błąd. C powinno być większe o 1 w obu wymiarach, a porównywanie A z B powinno być na indeksie o jeden mniejszym.

1 użytkowników online, w tym zalogowanych: 0, gości: 1