js下一个函数找出2个字符串的最长公共子序列
时间: 2024-05-15 13:18:21 浏览: 80
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
您好!关于您的问题,我可以给出以下 JavaScript 代码:
```javascript
function LCS(str1, str2) {
let m = str1.length;
let n = str2.length;
let dp = new Array(m + 1);
for (let i = 0; i <= m; i++) {
dp[i] = new Array(n + 1).fill(0);
}
for (let i = 1; i <= m; i++) {
for (let j = 1; j <= n; j++) {
if (str1.charAt(i-1) == str2.charAt(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];
}
```
上述的代码中,我们用动态规划的方式找到了两个字符串的最长公共子序列的长度。代码中的 dp 数组用于保存中间的结果,其中 dp[i][j] 表示 str1 前 i 个字符与 str2 前 j 个字符的最长公共子序列长度。
希望以上解答能够帮助您!如果您有其他问题,可以随时提出。
阅读全文