尼玛看错题,原来要挨着全刷一次。
那么从这个点找到下一个不同的点,一定要再刷一次,所以求出最短的长度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);
}
本文提供了一种解决编程问题的方法,通过遍历字符串并比较字符,找到不同点的位置,进而计算需要进行操作的最短长度。代码示例展示了如何使用C++实现这一过程。
3624

被折叠的 条评论
为什么被折叠?



