Open Cosen95 opened 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] };
leetcode: https://leetcode-cn.com/problems/longest-common-subsequence/