滑动窗口解决
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
string k ="puleyaknoi";
int t[26]={0};
int cnt=0;
for(char c:k)
{
if(++t[c-'a']==1)
{cnt++;}
}
int x;cin>>x;
while(x--){
string s;
cin>>s;
int l=0;
int ok=0;
int ans=1e6;
int w[26]={0};
for(int r =0;r<s.size();r++){
int idx=s[r]-'a';
if(t[idx]&&++w[idx]==t[idx]){ok++;}
while(ok==cnt){
ans =min(ans,r-l+1);
int lidx =s[l++]-'a';
if(t[lidx]&&--w[lidx]<t[lidx]){
ok--;
}
}
}
if(ans==1e6){cout<<-1<<endl;}
else{cout<<ans<<endl;}
}
return 0;
}