class LCS {
// größte Länge einer gemeinsamen Teilfolge
static int lcs (String xs, String ys) {
int a[][] =
new int [ ... ] [ ... ]
for (int i = ... ; ... ; ... ) {
for (int j = ... ; ... ; ... ) {
// Spezifikation:
// a[i][j] enthält größte Länge
// einer gemeinsamen Teilfolge
// von xs.substring(i)
// und ys.substring(j)
}
}
return ...
}
@Test
public void test1 () {
assertEquals (4, lcs ("ABCABBA","CBABAC"));
}
}
Aufgaben:
LCS.lcs
Hinweis: int [][] a wie oben ausrechnen und danach
vom Ende zum Anfang durchlaufen (ohne groß zu suchen).
damit dann die autotool-Aufgaben lösen.