Cosen95 / js_algorithm

🏂js数据结构与算法 系统学习
36 stars 10 forks source link

最长公共子序列 #43

Open Cosen95 opened 4 years ago

Cosen95 commented 4 years ago

leetcode: https://leetcode-cn.com/problems/longest-common-subsequence/

Cosen95 commented 4 years ago

这道题目是一道非常经典的动态规划题目。

刚开始我并没想到这种方法,也是看了题解后才知道的。 这里有大佬的题解,写的非常详细,大家可以参考下

/**
* @param {string} text1
* @param {string} text2
* @return {number}
*/
var longestCommonSubsequence = function(text1, text2) {
let m = text1.length,
n = text2.length,
dp = Array.from(new Array(m+1),() => new Array(n+1).fill(0));
for (let i=1;i <= m;i++) {
for (let j=1;j <= n;j++) {
if (text1[i-1] === text2[j-1]) {
dp[i][j] = dp[i-1][j-1] + 1
} else {
dp[i][j] = Math.max(dp[i][j-1], dp[i-1][j])
}
}
}
return dp[m][n]
};