求字符串中最长的连续出现的字符

简介: 求字符串中最长的连续出现的字符

🌵🌵🌵前言

题目

求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和 tab),如果这样的字符不止一个,则输出第一个。

  • 输入格式
第一行输入整数 N,表示测试数据的组数。

每组数据占一行,包含一个不含空白字符的字符串,字符串长度不超过 200。

  • 输出格式
共一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开。
  • 输入样例:

2
aaaaabbbbbcccccccdddddddddd
abcdefghigk

  • 输出样例:

d 10
a 1

代码

#include <iostream>
#include <cstring>
using namespace std;
string s;
int n;

int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>s;
        int len=s.length();
        char c,max_c;
        int max=0;
        int num=0;
        
        for(int i=0;i<len;i++){
            
            if(i==0){//第一个字符直接计数为1
                num=1;
                c=s[0];
            }
            else if(s[i]==s[i-1]){
                if(i==len-1 && num+1>max){
                    //此时至最后一个字符,num+1才为此字符个数
                    max=num+1;
                    max_c=c;
                }
                num++; //不跳出则num++
                // cout<<c<<" "<<num<<endl;
            }
            else if(s[i]!=s[i-1]){
                if(num>max){//判断,若大于最大数则更新
                    max=num;
                    max_c=c;
                }
                c=s[i];
                num=1;//重置num
            }
        }
        cout<<max_c<<" "<<max<<endl;
    }
    
    return 0;
}
目录
相关文章
|
6月前
|
存储 索引
|
6月前
|
存储
【字符串】最长不含重复字符的子字符串
【字符串】最长不含重复字符的子字符串
|
6月前
|
索引
leetcode-1624:两个相同字符之间的最长子字符串
leetcode-1624:两个相同字符之间的最长子字符串
36 0
每日三题-无重复字符的最长子串、最长连续序列、找到字符串中所有字母异位词
每日三题 无重复字符的最长子串 最长连续序列 找到字符串中所有字母异位词
97 1
每日三题-无重复字符的最长子串、最长连续序列、找到字符串中所有字母异位词
|
人工智能
最长连续不重复子串
最长连续不重复子串
130 0
最长连续不重复子串
AcWing 771. 字符串中最长的连续出现的字符
AcWing 771. 字符串中最长的连续出现的字符
93 0
AcWing 771. 字符串中最长的连续出现的字符
|
Java Python
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
|
C#
C# 将字符串中的多个连续空格变成一个
C# 将字符串中的多个连续空格变成一个
367 0