注意:这里魔法手环是环形的,我们该如何解决子串问题呢?
我用颜色线段标记的是一个个环形字串
代码:
#include <bits/stdc++.h>
using namespace std;
string a,k[1000001];
int len,kl;
int main()
{
cin>>a;
len = a.size();
a += a;
for(int i = 0; i < len; i++) k[kl++] = a.substr(i,len);//滑动窗口算法求所有环形字串,i代表开始位置
sort(k,k + kl);//字典序
cout<<k[0];
return 0;
}