题目描述
一串连续字符被称作围栏当且仅当它由间隔的‘|’和‘-’组成。比如“|-|-|-|”或“|-|”(引号仅供说明)。注意“|-||-|”或者“–”不是围栏,因为每个都包含了两个或两个以上的相同连续字符。给你一个字符串,请找出它的最长的一个可以称作围栏的子串长度。
输入
长度为n(0≤n≤50)的字符串s,s只包含‘| ’、‘-’字符,
有多组字符串,每个一行。
输出
在一行中输出最长的围栏长度值。
样例输入
|-
|||-||--|--|---|-||-|-|-|--||---||-||-||-|--||
样例输出
2
8
参考代码
#include <stdio.h>
#include <string.h>
int main()
{
int len,i,j;
char a[55];
int index=1;
int max=0;
while(scanf("%s",a)!=EOF)
{
index=1;
len=strlen(a);
for (i=1;i<len;i++)
{
if(a[i]!=a[i-1])
index++;
if(max<index)
max=index;
if (a[i]==a[i-1])
index=1;
}
printf("%dn",max);
}
return 0;
}
解析
暂无