动态规划处理,效率不高,还有优化空间
/**
* @param {string} text1
* @param {string} text2
* @return {number}
*/
var longestCommonSubsequence = function(text1, text2) {
const arr1 = text1.split('');
const arr2 = text2.split('');
arr1.unshift('');
arr2.unshift('');
let _arr = [];
for (let i = 0; i < arr1.length; i++) {
_arr[i] = [];
for (let j = 0; j < arr2.length; j++) {
if (arr1[i] === '' || arr2[j] === '') {
_arr[i][j] = 0;
continue;
}
if (arr1[i] === arr2[j]) {
_arr[i][j] = _arr[i-1][j-1] + 1;
} else {
_arr[i][j] = Math.max(_arr[i][j-1], _arr[i-1][j]);
}
}
}
return _arr[arr1.length - 1][arr2.length - 1];
};
网友评论