package day15;
/**
* @author QITM
* @date 2020/5/15 21:51
* @描述 獲取兩個字符串中相同的子串
* <p>
* <p>
* 思路
* 1.既然取得最大子串,先看短的那個字符串是否在長的字符串中
* 如果存在,短的那個字符串就是最大字符串
* 2.如果不是,那麼就將短的字符串進行長度遞減的方式減去子串,去長串中判斷是否存在。
* 如果存在就已找到,就不用找了
*/
public class StringTest_3 {
public static void main(String[] args) {
String s1 = "dfasrewqrwqfadreqwrewq";
String s2 = "qrwqfadreqwr";
String s = getMaxSubString(s2, s1);
System.out.println("s=" + s);
}
private static String getMaxSubString(String s1, String s2) {
String max = null, min = null;
max = (s1.length() > s2.length() ? s1 : s2);
min = max.equals(s1) ? s2 : s1;
System.out.println("max" + max);
System.out.println("min" + min);
for (int i = 0; i < min.length(); i++) {
for (int a = 0, b = min.length() - i; b != min.length() + 1; a++, b++) {
String substring = min.substring(a, b);
// System.out.println(substring);
if (max.contains(substring)) {
return substring;
}
}
}
return null;
}
}