找出多个字符串中的最大公共子字符串,如“nbitheimanb”和“itheia”的最大子串是:”ithei”。
#include <stdio.h>
int main(int argc,const char * argv[]) {
char a[] = {'n','b','i','t','h','e','i','m','q','n','b'};
char b[] = {'i','t','h','e','i','q'};
int A =sizeof(a);
int B =sizeof(b);
int l =0;//当前最大长度
int L =0;//最大长度
int I = 0;//最大长度的起始位置
for (int i =0; i < A; i++) {
for (int j = 0; j < B; j++) {
for (int k = 0 ; k + j < B; k++) {
if (a[k + i] == b[j + k]) {
l++;
}else{
if (L < l){
L = l;
I = i;
}
l = 0;
break;
}
}
}
}
for (int i =0 ; i < L; i++) {
printf("%c",a[I + i]);
}
return 0;
}如题 这是那个求最大公共字符串的程序代码 麻烦各位高手给我解答一下思路 我不知道那三个for循环到底是什么意思 谢谢了 给我介绍一下这个程序的代码到底代表什么意思 给我注释一下 感激不尽 |
|