字符串压缩-连续字符压缩并输出次数
一、算法描述
给定一个字符串,压缩其连续出现的字符,并输出连续出现的次数,输出顺序与原字符出现的顺序一致,如果只出现一次则不输出次数, 例如: 输入:CCCCDDE, 输出:4C2DE
二、算法思路
通过分析可得出,此算法的关键是统计连续出现字符的次数,并输出,这需要借助于一个临时的字符串来输出结果
三、算法代码
#include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; //统计字符串中重复的字符并将重复出现的次数和字符输出,例如: ccccdde, 4c2de void count_repeat_char(char *str, char *tstr) {int cnt=0,k=0;char *p=str,*q=p;while(*p){while(*p==*q){cnt++;p++;}if(cnt!=1){tstr[k++]=cnt+'0';tstr[k++]=*q;}else{tstr[k++]=*q;}cnt=0;q=p;} }int main() {char s[256]="ccccddeffff";char *pstr=new char[256];memset(pstr,0,sizeof(char)*256);count_repeat_char(s,pstr);cout<<pstr<<endl;return 0; }
转载于:https://www.cnblogs.com/ballwql/p/4941287.html
字符串压缩-连续字符压缩并输出次数相关推荐
- 在控制台中录入一个字符串 , 打印这个字符串中的字符以及出现的次数(Python)
#练习2:在控制台中录入一个字符串 # 打印这个字符串中的字符以及出现的次数. # abcdbcdb # a字符1次 # b 3 # c 2 # d 2 str_input = "abcdb ...
- python实现:计算字符的个数,接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。
题目内容: 接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数.不区分大小写. 可以使用以下语句实现字符串s的输入: s=str(input()) 输入格式: 输入一个 ...
- 【python】7-10 将输入的字符串中的字符头尾间隔输出(PTA)
输入一个字符串,然后将其中每个字符头尾间隔输出.例如,输入abcdef,则输出afbecd. s=input() for i in range(len(s)//2):print(s[i:i+1],en ...
- 7-10 将输入的字符串中的字符头尾间隔输出
输入一个字符串,然后将其中每个字符头尾间隔输出.例如,输入abcdef,则输出afbecd. 输入格式: 输入一个字符串 输出格式: 输出一个字符串 输入样例: abcdef 输出样例: afbecd ...
- C++ 统计字符串中某字符出现的次数
题目描述 输入一个字符串s和一个字符ch,统计并输出字符ch在字符串s中出现的总次数.改写要求:编写一个函数,求字符指针p所指向的字符串中,字符ch出现的次数,并将该结果作为函数值返回.函数原型为 i ...
- 题目1049:字符串去特定字符
题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: 测试数据有多组,每组输入字符串s和字符c. 输出: 对于每组输入,输出去除c字符后的结果. 样例输入: heallo ...
- 华为面试题:请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
已经很久没有写博客了,2017年的最后一天写一篇,用这样的方式和2017年告别挺好的.这段时间经历找工作,是我这一年截止到目前最迷茫的时期.看看程序,思考能让我冷静下来,不被杂事打扰,前天看到了华为的 ...
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则: 1.仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2.压缩字段的格式为"字符重 ...
- 将一段压缩后的字符串解压,并且顺序输出
将一段压缩后的字符串解压,并且顺序输出. 算法描述: 解压规则: 每个字符串后面跟着一个数字,表示这个字符重复的次数. 例如:'a5'解压后为'aaaaa', 'abc3'解压后为'abcabcbac ...
- 【字符串处理算法】最长连续字符及其出现次数的算法设计及C代码实现
一.需求描述 输入一个字符串,编写程序找出这个字符串中的最长连续字符,并求出其连续出现的次数. 例如,"123444445"中的最长连续字符是4,其连续出现的次数为5:" ...
最新文章
- 数据挖掘的一些经典算法
- 二分查找算法的一点改进
- java volatile 用法_java关键字volatile用法详解
- js输出一个菱形_Threejs使用菱形正方形算法,中点替换算法生成随机地形
- k8s网络架构图_唯品会基于Kubernetes(k8s)网络方案演进
- python汇率编程_【菜鸟学Python】案例一:汇率换算
- 【译】nginx关于location部分
- 几张图可以理解GC JVM调优的内容
- 【学神-RHEL7】1-3-Linux基本命令和配置服务器来电后自动开机
- 怎样访问服务器的文件,怎样访问服务器上的mht文件
- 总结:linux运维常用命令
- Backpressure背压
- 奈奎斯特与香农定理_奈奎斯特定理和香农定理有什么区别?
- 防CC攻击 软件防火墙和WEB防火墙大比较
- (一) u-boot 基本介绍
- edg击败we视频_2019德杯淘汰赛:EDG让二追三击败WE
- 基于win10的hyper-v安装openwrt与zerotier实现内网穿透及异地组网
- SAP ABAP 查询物料的销售/生产消耗数据
- 强化学习之 PPO 算法
- kali linux 入门(1) 基于win10和docker的环境搭建