public class Subsequence {
public static void main(String[] args){
//Scanner s = new Scanner(System.in);
String str1 = "wccefd";
String str2 = "adccefsd";
char a[] = str1.toCharArray();
char b[] = str2.toCharArray();
int maxlen = 0;
int startIndex=0;
int endIndex = 0;
for(int i=0;i<b.length;i++){
//对于b数组中的每一个数组,从第一个开始分别与a中的值比较
int nowstartIndex = i;
int nowendIndex = i;
int tempb = i;//定义序列相同时,b下标当前值,
如果直接使用i++,会造成下一个字符开始的遍历错误
int nowlen = 0;
boolean flag = false;
for(int j=0; j<a.length && tempb < b.length; j++){//临时值不能超过b长度
if(b[tempb] == a[j]){
nowendIndex = tempb;
nowlen = nowendIndex - nowstartIndex;
tempb++;
flag = true;
}else{
if(flag == true){//如果之前的相同,再遇到一个不相同的符,
后面的不用再比较
break;
}
}
}
if(nowlen > maxlen){
maxlen = nowlen;
startIndex = nowstartIndex;
endIndex = nowendIndex;
}
}
for(int k=startIndex;k<=endIndex;k++){
System.out.print(b[k]);
}
}
}
最长公共字符串
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 回文串的特点是,逆序输出和正序输出是一样的。所以这道题可以转化为:如果将此字符串逆序输出,那么两个字符串的最长公共...