我正在寻找一个 Python 代码来查找两个字符串的最长公共子序列。我发现这篇博客文章描述了最长公共子序列问题的长度,并提供了Java中的解决方案。有人能帮我把Java代码翻译成 Python 吗?
以下是博客文章中的Java代码:
public static int longestCommonSubsequence(String X, String Y) {
int m = X.length();
int n = Y.length();
int[][] dp = new int[m + 1][n + 1];
for (int i = 0; i <= m; i++) {
for (int j = 0; j <= n; j++) {
if (i == 0 || j == 0) {
dp[i][j] = 0;
} else if (X.charAt(i - 1) == Y.charAt(j - 1)) {
dp[i][j] = dp[i - 1][j - 1] + 1;
} else {
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
}
}
}
return dp[m][n];
}