题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
#include <iostream>
#include <string>
using namespace std;
int LocalMaxSameFun(string s1, string s2, int i , int j)
{
int count =0;
for( i; i<s1.size(); i++)
{
if(s1[i] == s2[j])
{
count++;
j++;
}
else {
break;
}
}
return count;
}
int Max(int a, int b)
{
if(a>b)
{
return a;
}
else {
return b;
}
}
int main() {
string s1;
string s2;
getline(cin, s1);
getline(cin, s2);
int MaxSame = 0;
int LocalMaxSame;
for(int i=0; i<s1.size(); i++)
{
for(int j=0; j<s2.size(); j++)
{
if(s1[i] == s2[j])
{
LocalMaxSame = LocalMaxSameFun(s1,s2,i,j);
MaxSame = Max(LocalMaxSame,MaxSame);
}
}
}
cout << MaxSame <<endl;
return 0;
}
// 64 位输出请用 printf("%lld")


查看27道真题和解析