class StringTest3
{
public static void main(String[] args)
{
String s1 = "Hello" ;
String s2 = "ell";
System.out.println(getMaxSubString(s2,s1));
}
/*获取最大相同子串*/
public static String getMaxSubString(String s1,String s2)
{
if (s1.length()<s2.length())//以短的作为子串
{
String temp = s2;
s2 = s1;
s1 = temp;
}
/*短的子串长度依次递减1,然后遍历*/
for(int i=0;i<s2.length();i++)
for (int j=0,k=s2.length()-i; k!=s2.length()+1;j++,k++ )
{
String temp = s2.substring(j,k); //取从j字符开始的k个字符的子串
if (s1.indexOf(temp)!=-1) //找不到子串则还回-1
{
return temp;
}
}
return "";//即没有相同子串
}
}
获取最大相同子串
最新推荐文章于 2022-01-15 15:35:22 发布
本文介绍了一个使用Java实现的最大相同子串查找算法。该算法首先判断两个输入字符串的长度,选择较短的一个进行子串查找。通过递减较短字符串的长度并遍历其所有可能的子串组合,检查这些子串是否存在于另一个较长的字符串中。
888

被折叠的 条评论
为什么被折叠?



