题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
#include <stdio.h> #include <string.h> int main() { char a[150] = {0}; char b[150] = {0}; scanf("%s\n", a); scanf("%s\n", b); int lena = strlen(a); int lenb = strlen(b); int n, max = 0; for (int i = 0; i < lena; i++) { n = 0; for (int j = 0; j < lenb; j++) { n = 0; int x = i, y = j; while (a[x] == b[y] && x<lena && y<lenb) { n++; x++; y++; } max = (max > n) ? max : n; n = 0; } } printf("%d\n", max); return 0; }