UNPKG

ucsc-xena-client

Version:

UCSC Xena Client. Functional genomics visualizations.

31 lines (25 loc) 526 B
'use strict'; var _ = require('./underscore_ext'); // transcribed from wikipedia. function LCSLength(X, Y) { var m = X.length, n = Y.length, C = _.times(m + 1, function () { return new Array(n + 1); }), i, j; for (i = 0; i <= m; ++i) { C[i][0] = 0; } for (j = 0; j <= n; ++j) { C[0][j] = 0; } for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j) { C[i + 1][j + 1] = X[i] === Y[j] ? C[i][j] + 1 : Math.max(C[i + 1][j], C[i][j + 1]); } } return C[m][n]; } module.exports = LCSLength;