Longest Common Subsequence
def lcs(s: String, t: String): Int = {
val (m, n) = (s.length, t.length)
val table = Array.ofDim[Int](s.length + 1, t.length + 1)
for (i <- 0 to m) {
for (j <- 0 to n) {
if (i == 0 || j == 0) 0
else if (s(i - 1) == t(j - 1)) table(i)(j) = table(i - 1)(j - 1) + 1
else table(i)(j) = table(i - 1)(j) max table(i)(j - 1)
}
}
table(m)(n)
}
lcs("AGGTAB", "GXTXAYB")Last updated