尼玛看错题,原来要挨着全刷一次。
那么从这个点找到下一个不同的点,一定要再刷一次,所以求出最短的长度
m
,答案就是
#include<bits/stdc++.h>
using namespace std;
char s[1000005];
int n,m,l,x;
int main()
{
gets(s); m=n=strlen(s);
for (int i=0;i<n;i++)
if (s[i]!='*') if (!l) l=s[i],x=i; else if (l!=s[i]) m=min(m,i-x),x=i,l=s[i]; else x=i;
printf("%d",n-m+1);
}