题目描述
使用 set 暴力判断是非没有相似子串
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int n;
string str;
bool check(int len)
{
set<string>s;
for (int i = 0 ; i <= n - len ; i ++ )
{
if (s.find(str.substr(i, len)) != s.end()) return 1;
s.insert(str.substr(i, len));
}
return 0;
}
int main()
{
scanf("%d", &n);
cin >> str;
int ans = 1;
while(check(ans)) ans ++;
printf("%d", ans);
return 0;
}