黑马程序员技术交流社区
标题:
习题3,获取字符串在另一字符串中相同的最大子串.
[打印本页]
作者:
noiary
时间:
2014-9-20 10:30
标题:
习题3,获取字符串在另一字符串中相同的最大子串.
/*
习题3,获取字符串在另一字符串中相同的最大子串.
*/
public class StringTest {
public static void main(String[] args) {
String str1 = "abcdefghijklmn";
String str2 = "bcdaefghijklnm";
String str3 = "1234567890";
System.out.println(getMaxSubstring1(str2,str1));
}
/*
自己写的方法
*/
public static String getMaxSubstring(String maxStr, String minStr) {
for(int x1=0,y1=minStr.length(); x1<y1; y1--) {
for(int x2=x1,y2=y1; y2<=minStr.length(); x2++,y2++) {
System.out.print(minStr.substring(x2,y2)+" ");
if(contains(maxStr, minStr, x2, y2))
return maxStr.substring(x2,y2);
}
System.out.println();
}
return "-1";
}
private static boolean contains(String maxStr,String minStr, int x, int y) {
return maxStr.contains(minStr.substring(x,y));
}
/*
视频毕老师的方法
*/
public static String getMaxSubstring1(String str1, String str2) {
String maxStr = "";
String minStr = "";
maxStr = str1.length()>str2.length()? str1 : str2;
minStr = maxStr == str1? str2 : str1;
int minStrLength = minStr.length();
for(int x=0; x<minStrLength; x++) {
for(int y=0,z=minStrLength-x; z<=minStrLength;y++,z++) {
if(contains(maxStr,minStr,y,z))
return maxStr.contains(minStr.substring(y,z));
}
}
return "";
}
}
复制代码
作者:
不系之舟王
时间:
2014-9-20 19:33
努力创新啊
作者:
yinzhenyu
时间:
2014-9-20 23:24
其实道理上还是一样,表达方式不同,支持创新!!
作者:
noiary
时间:
2014-9-21 11:56
yinzhenyu 发表于 2014-9-20 23:24
其实道理上还是一样,表达方式不同,支持创新!!
这个是看完题自己直接做的,然后看视频. 觉得自己饶了弯子了{:3_64:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2