问题标题: 酷町堂:4466 最长连续重复字符(longest)

0
0
已解决
董宇昊
董宇昊
初级启示者
初级启示者

4466   最长连续重复字符(longest)经验值:0

题目描述 Description

请统计输入的字符串中最大连续重复字符的个数, 要求统计找出给定字符串中哪些字符连续出现的次数最多,并且要统计这些字符一共连续出现了多少次。
例如:字符序列为 AAA222BBAAAaa,则在这个字符序列中,字符 A 和字符 2 连续出现的次数最多,都是 3 次。

输入描述 Input Description

共两行,第一行为字母序列中的字母个数 n(1≤N≤1000) ,
第二行为 n个字符组成的字符串序列。

输出描述 Output Description

共两行,第一行为最多连续出现次数最多的字符,若有多个用空格分隔,输出顺序为他们在字符串中的先后顺序。
第二行为连续出现重复的最大次数。

样例输入 Sample Input

13 AAA222BBAAAaa

样例输出 Sample Output

A 2 3

数据范围及提示 Data Size & Hint

1≤n≤1000 33≤字符数值即 ASCII 码≤126


0
已采纳
范皓翔
范皓翔
初级光能
初级光能

#include<assert.h>  

{  

    assert(s!=NULL);  

    int temp_count,final_count=0;  

    p=s;  

    {  

        temp_count=0;  

        {  

                temp_count++;  

            else  

                break;  

        }  

        if(temp_count>final_count)  

        {  

            final_char=temp_char;  

            final_count=temp_count;  

        }  

    }  

    return final_count;  

}  

void main()  

{  

    char s[]="aabbbcccc";  

    int count;  

    char c;  

    count=get_max_char_count(s,&c);  

    printf("%c is appeared %d timesn",c,count);  

}

 

0
董宇昊
董宇昊
初级启示者
初级启示者

求思路

范浩翔不能回答!!

0
陈振轩
陈振轩
高级光能
高级光能
    for(int i=1; i<s.size(); i++){
        if(s[i-1]==s[i])
            f[i]=f[i-1]+1;
        if(s[i-1]!=s[i])
            f[i]=1;
    }
    for(int i=0; i<n; i++){
        if(f[i]>=maxx && Tong[s[i]]==0){
            maxx=f[i];
        }
    }
    for(int i=0; i<n; i++){
        if(f[i]>=maxx && Tong[s[i]]==0){
            Biger[++k]=s[i];
            Tong[s[i]]=1;
        }
    }

    for(int i=1; i<=k; i++){
        cout<<Biger[i]<<" ";
    }

 

0
0
我要回答