一.题目描述
给出两个字符串,找到最长公共子串,并返回其长度。
https://www.lintcode.com/problem/79/description
二.代码
public int longestCommonSubstring(String A, String B) {
int max = 0;
char[] charArray1 = A.toCharArray();
char[] charArray2 = B.toCharArray();
int[][] dp = new int[charArray1.length + 1][charArray2.length + 1];
for (int i = 1; i <= charArray1.length; i++) {
for (int j = 1; j <= charArray2.length; j++) {
if (charArray1[i - 1] == charArray2[j - 1]) {
dp[i][j] = dp[i - 1][j - 1] + 1;
max = Math.max(dp[i][j], max);
}
}
}
return max;
}