0
已解决
董宇昊
初级启示者
初级启示者
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
int a[15]{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},sum=1,n;
int main(){
string s;
cin>>n>>s;
for(int i=1;i<=n;i++){
if(a[i]==a[i-1]){
a[int(s[i])]++;
}
if(a[i]>=sum) sum=a[i];
}
for(int i=0;i<=n;i++){
if(a[i]==sum) cout<<s[i]<<' ';
}
cout<<"\n"<<sum;
return 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
董宇昊在2020-06-17 16:59:25追加了内容
重要的事情说3遍!
只要思路,不要代码!
代码网址举报!!!
只要思路,不要代码!
代码网址举报!!!
只要思路,不要代码!代码网址举报!!!
董宇昊在2020-06-18 20:38:15追加了内容
我太难了
既然进前三了
0
0
0
0
0
何冯成
中级光能
中级光能
这题我记得是考题
你这个思路有点不对
这题要用选择排序
定义用字符数组会简单点
思路不对我就不找错了
核心:
for(i=1;i<=n;i++)//读n个串
cin>>s[i];
//充分利用选择排序的思想:1-2.1-3..1-10;
for(i=1;i<=n;i++)//确保1个字符出现1次也算
{cnt=1;
for(j=i+1;j<=n;j++)
{ if(s[i]==s[j])//相等计数,
cnt++;
else break;//a[i]与a[j]不相等,直接退出j
} //end for j
x[i]=cnt;//放在 x[i]放计数器
i=j-1;// i直接跳到j(因为马上执行步长i++故 i=j-1)
}//end for i
然后定义一个max1=0
循环判断一下就行了