Dynamic ProgrammingLongest Common Subsequence
Fork
Share
Fullscreen
Sign In
JavaScript
C++
Java
Building
Play
0 / 1
Speed
0
2
4
README.md
code.js
// import visualization libraries {...}
const string1 = 'AGGTAB';
const string2 = 'GXTXAYB';
const m = string1.length;
const n = string2.length;
const A = new Array(m + 1);
for (let i = 0; i < m + 1; i++) {
A[i] = new Array(n + 1);
}
// define tracer variables {...}
let i;
let j;
// Build the memo table in bottom up fashion
for (i = 0; i <= m; i++) {
for (j = 0; j <= n; j++) {
if (i === 0 || j === 0) {
A[i][j] = 0;
} else if (string1[i - 1] === string2[j - 1]) {
// visualize {...}
A[i][j] = A[i - 1][j - 1] + 1;
// visualize {...}
} else {
// visualize {...}
if (A[i - 1][j] > A[i][j - 1]) {
A[i][j] = A[i - 1][j];
} else {
A[i][j] = A[i][j - 1];
}
// visualize {...}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Contributed by
archie94
64json
Yee172
Delete File