问题标题: 酷町堂:emmmm...........

0
0
已解决
黄依成
黄依成
中级天翼
中级天翼

字符串压缩2   经验值:800

题目描述 Description

给出一个全部由小写字母组成的字符串。为了将这个字符串存储起来,并且尽可能地节省空间,现在将多个连续出现的相同字母,改写成这个字母最长的连续的个数后面跟上这个字母本身的形式。比如"…baaaaac…“这个部分可以改写成”…1b5a1c…"。给出一个字符串,试着输出经压缩的结果。

输入描述 Input Description

一个字符串,仅由小写字母组成

输出描述 Output Description

经压缩后的字符串

样例输入 Sample Input

baaaaac

样例输出 Sample Output

1b5a1c

 

#include<iostream>
#include<string>
using namespace std;
string s;
int a[150];
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        a[s[i]]++;
    }
    for(int i=0;i<s.size();i++){
        if(a[s[i]]!=0){
            cout<<a[s[i]]<<s[i];
            a[s[i]]=0;
        }
    }
    return 0;
}

样例过了,但WA了,求助o((⊙﹏⊙))o


0
已采纳
李致远
李致远
高级光能
高级光能

你好!

你这个思路我看不出来哪里错了。。。

我的思路:

输入s,先输出s[0],在s的前面加空格,然后遍历字符串,如果当前字符与下一个相同,cnt++;

如果不相同,输出cnt和s[i];

1
黄子扬
黄子扬
初级天翼
初级天翼

这不是括号递归压缩的简简简简简简简简简简简简简简单版吗

0
我要回答