0
已解决
李牧晓
中级天翼
中级天翼
题目描述 Description
给出一个全部由小写字母组成的字符串。为了将这个字符串存储起来,并且尽可能地节省空间,现在将多个连续出现的相同字母,改写成这个字母最长的连续的个数后面跟上这个字母本身的形式。比如"…baaaaac…“这个部分可以改写成”…1b5a1c…"。给出一个字符串,试着输出经压缩的结果。
输入描述 Input Description
一个字符串,仅由小写字母组成
输出描述 Output Description
经压缩后的字符串
样例输入 Sample Input
baaaaac
样例输出 Sample Output
1b5a1c
--------------------------------------------------------------------------
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
string s;
int b[1000000];
int main()
{
cin>>s;
for(int i=0;i<s.size();i++){
b[i]=1;
if(s[i]==s[i-1]){
b[i]=b[i-1]+1;
}
}
for(int i=0;i<s.size();i++){
if(b[i]==b[i-1]+1&&b[i+1]-1!=b[i]&&b[i]>1){
cout<<s[i]<<b[i];
continue;
}
if(s[i]!=s[i+1]) cout<<s[i];
}
return 0;
}
样例都过不了的代码,求找错
李牧晓在2021-12-25 00:01:06追加了内容
已完成,有人帮忙回答一下吗