AcWing 771. 字符串中最长的连续出现的字符
原题链接
中等
作者:
华硕
,
2023-12-11 14:11:28
,
所有人可见
,
阅读 44
C++ 代码
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;
cin >> n;
while(n--)
{
string s;
int k = 0;
char p[200];
cin >> s;
p[0] = s[0];
int q[200] = {0};
for(int i = 0; i < s.size(); i++)
{
if(s[i] == p[k])
{
q[k]++;
}
else
{
p[++k] = s[i];//谨记此处不要直接一个k+1 相当于k的值一直没变
q[k]++;
}
}
int maxp = 0,max = 0;//注意此处,max表示最多的次数值,另一个值表示次数最多的值首次出现的位置
for(int i = 0; i < s.size(); i++)// 用>表示首次
{
if(q[i] > max)
{
max = q[i];
maxp = i;
}
}
cout << p[maxp] <<" " << max << endl;
}
return 0;
}