题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
#include <iostream>
using namespace std;
int main() {
string a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
if (a.size() > b.size()) {
swap(a, b);
}
int max = 0;
for (int i = 0; i <= a.size() - 1; i++) {
for (int j = i; j <= a.size() - 1; j++) {
string substr = a.substr(i, j - i + 1);
if (b.find(substr) != string::npos) {
if (max < substr.size()) {
max = substr.size();
}
}
}
}
cout << max << endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")