/**
*
* "小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。
* 重复代码查找方法:以字符串形式给出两行代码(字符审长度1< length <100,由英文宇母、数宇和空格组成),找出两行代码中的 最长公共子串Q
* rghello123wohellord66665rld vfhello123abc4hellord66665 hellord6666
*/
public class RepeatCode {
public static void main(String[] args) {
String value = "rghello123wohabc vfhello123ababc";
String [] compare = value.split(" ");
String a = compare[0];
String b = compare[1];
//双指针
int left = 0;
int right = 0;
String end = null;
StringBuffer sb = new StringBuffer();
//以左指针为主,右指针为辅
while (left != a.length() -1){
if (a.charAt(left) == b.charAt(right)){
sb.append(a.charAt(left));
//双指针同时移动
left++;
right++;
}else {
//保存最长的重复序列
if (end ==null || (end.length() < sb.length())){
end = sb.toString();
}
//初始化
sb.setLength(0);
right++;
}
//右指针走完一遍初始化
if (right == b.length()-1 && left != a.length()-1){
right = 0;
left++;
}
}
System.out.println(end);
}
}