题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
#include <stdio.h> #include <string.h> int main() { char a1[1024]; char a2[1024]; scanf("%s%s", a1, a2); int i = 0; int count = 0; int max_num = 0; int x, y; for (int i = 0; a1[i] != '\0'; i++) { for (int j = 0; a2[j] != '\0'; j++) { count = 0; x = i; y = j; while (a1[x] == a2[y]) { if (a1[x] == '\0' || a2[y] == '\0') break; count++; x++; y++; } if (count > max_num) { max_num = count; } } } printf("%d\n", max_num) ; return 0; }