专栏首页Don的成长史字符串压缩算法

字符串压缩算法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/94060471

题目描述:

输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。
例如:
aac 压缩为 1ac
xxxxyyyyyyzbbb 压缩为 3x5yz2b

输入描述:

任意长度字符串

输出描述:

压缩后的字符串

输入样例:

xxxxyyyyyyzbbb

输出样例:

3x5yz2b

解题思路:

小红书19年校招题,这道题在刷PAT乙级的时候有写到过类似的题:【PAT乙级】字符串压缩与解压。题中所说的字符串压缩其实就是无脑遍历字符串,将字符串中的重复部分进行替换。将一个重复出现的字符子串替换成(某个字符重复出现的次数-1 + 该重复字符)。

AC代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    string str;
    getline(cin, str);
    for(int i = 0; i < str.length(); i++)   //遍历字符串
    {
        int cnt = 0;   //用来记录重复字符数量
        while(str[i] == str[i+1])   //判断是不是字符串中的重复字符
        {
            i++;
            cnt++;
        }
        if(cnt != 0)
        {
            cout << cnt;   //先输出压缩的字符个数
        }
        cout << str[i];   //再输出被压缩的字符
    }
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【PAT乙级】旧键盘

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 字符串压缩

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • 【PAT甲级】Broken Keyboard

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk
  • ElasticSearch全文检索引擎-介绍

    gaobinzhan
  • 爬虫 (十) 学习 python 基础知识点的正确姿势 (三)

    我会以比较学习的方式,主要拿Python和我之前学习的javascript进行比较,拿学习javascript的学习经历来迁移到学习Python,如果你在此之前...

    公众号---志学Python
  • 使用php-js-ext在PHP内解析javascript脚本

    用户1272546
  • 可解释性的重要性2.1

    如果一个机器学习的模型表现良好,我们为什么不能直接相信这个模型,并且忽略为什么它做了这样的决策?。原因是,仅靠一个指标(loss),例如分类准确性,是一个对现实...

    水球喵子
  • 详解Class类文件的结构(下)

    本文继续使用上次的Test.class文件,它是由下面单独的一个类文件编译而成的,没有包。

    beifengtz
  • 【DB笔试面试565】在Oracle中,为什么索引没有被使用?

    “为什么索引没有被使用”是一个涉及面较广的问题。有多种原因会导致索引不能被使用。首要的原因就是统计信息不准,第二原因就是索引的选择度不高,使用索引比使用全表扫描...

    小麦苗DBA宝典
  • 近期做网站运维方面的感受与技术分享

    作为大二的我,本以为网站设计不是手到擒来的事情么,自己已经有了一年半的学习时间,不对,准确的说是两年的时间,但是真正接手到这个系统上来,迎面而来的却是一个接着一...

    Debug客栈

扫码关注云+社区

领取腾讯云代金券