​题目传送门​​ 代码:

#include<bits/stdc++.h>
using namespace std;

const int maxn=1000000+100;

char ch[maxn];
int cnt[30];

bool check(){

for(int i=0;i<26;i++) if(!cnt[i]) return false;
return true;
}

int main(){

scanf("%s",ch);
int len=strlen(ch);
int l=0,r=0;
int Min=len;
while(r<len){

while(!check() && r<len) cnt[ch[r++]-'a']++;
while(check()) cnt[ch[l++]-'a']--;
if(r<=len) Min=min(Min,r-l+1);
}
printf("%d\n",Min);
}