题目描述
771.字符串中最长的连续出现的字符
方法1
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n;
cin>>n;
while(n--){
string a;
cin>>a;
char c=a[0];
int cnt=1,max=1;//cnt用于计数,max记录最大数
for(int i=1;i<=a.size();i++){
if(a[i]==a[i-1]){
cnt++;
if(cnt>max){
max=cnt;
c=a[i];
}
}
else cnt=1;
}
cout<<c<<' '<<max<<endl;
}
return 0;
}
方法2
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n;
cin>>n;
while(n--){
string a;
cin>>a;
int cnt=1;
char c=a[0];
for(int i=0;i<a.size();i++){
int j=i+1;//用i保存遍历的位置,j往后寻找连续相同的值
while(j<a.size()&&a[j]==a[i]){
j++;
if(j-i>cnt){
cnt=j-i;
c=a[i];
}
}
i=j-1;
}
cout<<c<<' '<<cnt<<endl;
}
return 0;
}