int findMaxSubstringLen(String input_1, String input_2){
//比较两个字符串长度,取小的长度
int minSize = input_1.length() > input_2.length()? input_2.length(): input_1.length();
String small = input_1.length() > input_2.length()? input_2: input_1;
String big = input_1.length() > input_2.length()? input_1: input_2;
for(int i = 0; i < minSize; i++){
for(int j = i; j >= 0; j--){
int startIndex = i - j;
int endIndex = minSize - j;
String tempSubString = small.substring(startIndex, endIndex);
//遍历出来的字串是否包含在较大字符串中
if(big.contains(tempSubString)){
return tempSubString.length();
}
}
}
return 0;
}
思路:让小的字符串以及其子串和大的字符串比较是否被包含。
例如:“abcd”, “123456789a”比较,去遍历“abcdefg”
第一轮 “abcd” 是否包含在 “123456789cd”中 返回false
第二轮 “abc” 是否包含在 “123456789cd”中 返回false
第三轮 “bcd” 是否包含在 “123456789cd”中 返回false
第四轮 “ab” 是否包含在 “123456789cd”中 返回false
第五轮 “bc” 是否包含在 “123456789cd”中 返回false
第六轮 “cd” 是否包含在 “123456789cd”中 返回true
结果即“cd”的长度 2