题解 | #公共子串计算#
公共子串计算
http://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
暴力解;有兴取的可以尝试用KMP算法尝试。参考大佬的博客链接
#include <iostream>
using namespace std;
int maxSubstr(string str1, string str2){
int start_1 = 0; int start_2 = 0;
int count = 0; int max = 0;
for(int i = 0; i < str1.length(); i++){
for(int j = 0; j < str2.length(); j++){
start_1 = i; start_2 = j;
while(str1[start_1] == str2[start_2] && start_1 < str1.length()
&& str2.length()){
start_1 ++; start_2 ++;
count++;
}
if(count > max) max = count;
count = 0;
}
}
return max;
}
int main(){
string str1, str2;
cin >> str1 >> str2;
cout << maxSubstr(str1, str2) << endl;
return 0;
}