黑马程序员技术交流社区
标题:
获取两个字符串中最大相同子串
[打印本页]
作者:
深井看海
时间:
2012-11-24 22:09
标题:
获取两个字符串中最大相同子串
获取两个字符串中最大相同子串, 能把这题目详解下吗?
我连题意都不是很明白,什么是子串?能也把题意详解下吗?
作者:
段海涛
时间:
2012-11-24 22:22
最大子串的含义 :
比如一个字符串 abcdef
另一个字符串是 sdkgfabcdlznmd
这两个字符串中最大相同子串就是 abcd
实现算法
package notrue.study.temp;
/*
思路:
1,将短的那个子串按照长度递减的方式获取到。
2,将每获取到的子串去长串中判断是否包含,
如果包含,已经找到!。
*/
public class SubFind
{
public static String getMaxSubString(String s1,String s2)
{
String max = "",min = "";
max = (s1.length()>s2.length())?s1: s2;
min = (max==s1)?s2: s1;
for(int x=0; x<min.length(); x++)
{
for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++)
{
String temp = min.substring(y,z);
if(max.contains(temp))//if(s1.indexOf(temp)!=-1)
return temp;
}
}
return "";
}
public static void main(String[] args)
{
String s1 = "abcd";
String s2 = "cvabcllobnm";
System.out.println(getMaxSubString(s2,s1));
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2