LSS
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 128000/64000 KB (Java/Others)
SubmitStatistic Next Problem
Problem Description
Time flies, four years passed, colleage is over. When I am about to leave, a xuemei ask me an ACM problem, but I can't solve it, I am 功力尽失. Please help me so that I won't lose face in front of xuemei!
Give you a string , you should find the longest substring which is of the same character.
Input
First line there is a T , represents the test cases.
next T lines will be T strings.
the length of every string is less than 100
all the characters of the strings will be lowercase letters
Output
for each test case output a number
Sample Input
1
a
Sample Output
1
Source
*qi
Manager
水题,求最长连续相同字符子串长度。
就这么道破题纠结了我和旭旭一晚上,啊啊啊,脑子抽抽了,真不应该。无法很好的理解题意是大问题啊。这道题坑就坑在题目中提到的“字串”的含义应该是连续的,而我理解的字串应该是不连续的啊!像最长公共字串问题里面的字串不就是不连续的吗,有点凌乱了…… 总之卡在这么道题上,真给跪了,怨念无穷啊……
题意:求最长连续相同字符子串长度。
思路:从a[1]开始比较,每一个字符与它前面的字符比较如果相同,num加1,每次与sum比较,如果num>sum,令sum=num。最后输出sum。
代码:
#include <iostream> using namespace std; int main()
{
int T,i;
cin>>T;
while(T--){
char a[];
cin>>a;
//统计最长连续相同字符子串长度
int num=,sum=;
for(i=;a[i];i++){
if(a[i]==a[i-])
num++;
else
num=;
if(num>sum)
sum=num;
}
cout<<sum<<endl;
}
return ;
}
Freecode : www.cnblogs.com/yym2013