算法1
将字符串从第二个字符开始遍历一遍,如果当前的字符与上一个字符相等则x++,否则将x与目前最大的答案num比较,并把x重置为0。最后还要把最后一串相等的字符长度x与num比较。
C++ 代码
#include <iostream>
using namespace std;
int main()
{
string s;char ans;
int N,i,j,k,x,y,num;
cin>>N;
for(i=0;i<N;i++)
{
cin>>s;ans=s[0];num=0;x=1;
for(j=1;j<s.length();j++)
if(s[j]==s[j-1]) x++;
else {if(num<x) {y=j-1;ans=s[y];num=x;}x=1;}
if(num<x) {ans=s[j-1];num=x;}
cout<<ans<<' '<<num<<endl;
}
return 0;
}