题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
// HJ75-2 公共子串计算.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 #include<iostream> #include<bits/stdc++.h> using namespace std; int check(string& s,string& s2) { int len = s.size(); for (int i = 0; i < s2.size(); i++) { if (s.compare(s2.substr(i, len)) == 0) return len; } return 0; } int main() { string s1, s2; while (cin >> s1 >> s2) { int ans = 0; if (s1.size() > s2.size()) swap(s1, s2); for (int i = 0; i < s1.size(); i++) { for (int j = i; j < s1.size(); j++) { string tmp = s1.substr(i, j - i+1); int res = check(tmp,s2); ans = max(res, ans); } } cout << ans << endl; } return 0; }