使用java编程获取两个字符串中最大的相同子串
时间: 2023-11-06 16:07:37 浏览: 84
Hello,很高兴为您服务!对于您的问题,我可以直接回答。可以使用动态规划的方法来获取两个字符串中最大的相同子串。
以下是Java代码示例:
public static String getMaxSubString(String s1, String s2){
if(s1==null || s2==null){
return null;
}
int len1 = s1.length();
int len2 = s2.length();
if(len1==0 || len2==0){
return null;
}
int[][] dp = new int[len1+1][len2+1];
int maxLen = 0;
int endIndex = 0;
for(int i=1; i<=len1; i++){
for(int j=1; j<=len2; j++){
if(s1.charAt(i-1) == s2.charAt(j-1)){
dp[i][j] = dp[i-1][j-1] + 1;
if(dp[i][j] > maxLen){
maxLen = dp[i][j];
endIndex = i-1;
}
}
}
}
if(maxLen==0){
return null;
}
return s1.substring(endIndex-maxLen+1, endIndex+1);
}
如果您还有什么问题需要帮助,请随时提出!
阅读全文