主要是使用到了二分的思想,知道字符串就是知道了它的长度,然后可知len_max = s.length()/2;然后暴力枚举就可以得出答案;
代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int test()
{
string s, t1, t2;
cin >> s;
for(int len = s.length()/2; len >= 0; len--)
{
for(int i = 0; i < s.length() - len; i++)
{
t1 = s.substr(i, len);
t2 = s.substr(i+len);
if(t2.find(t1) != string::npos)
{
cout << t1 << endl;
return 0;
}
}
}
return 0;
}
int main()
{
test();
return 0;
}