Wannafly挑战赛23 A :字符串(尺取法)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37960603/article/details/82379361

题目传送门
代码:

#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);
} 

猜你喜欢

转载自blog.csdn.net/qq_37960603/article/details/82379361
今日推荐