将字符串中连续出现的重复字母进行压缩
来源:互联网 发布:asp在线报名系统源码 编辑:程序博客网 时间:2024/05/16 14:13
/*通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。 2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。要求实现函数: void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr); 输入pInputStr: 输入字符串lInputLen: 输入字符串长度 输出 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;示例 输入:“cccddecc” 输出:“3c2de2c” 输入:“adef” 输出:“adef” 输入:“pppppppp” 输出:“8p”*/#include <iostream>#include <stdio.h>#include <cstring>#include <stdlib.h>using namespace std;#define N 1024void print(char *p){ if(p!=NULL) { int n=strlen(p); for(int i=0; i<n; i++) { cout<<p[i]; } cout<<endl; }}void append(char *pOutputStr,int count,int &index){ char *c=new char[10]; itoa(count,c,10); //也可用sprintf(); for(int i=0; i<strlen(c); i++) { pOutputStr[index++]=c[i]; }}void append(char *pOutputStr,char c,int &index){ pOutputStr[index++]=c;}void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr){ pOutputStr=new char[lInputLen+1]; char tmp=pInputStr[0]; int count=1,j=0; for(int i=1; i<lInputLen; i++) { if(tmp==pInputStr[i]) { count++; } else { if(count>1) append(pOutputStr,count,j); append(pOutputStr,tmp,j); count=1; tmp=pInputStr[i]; } } if(count>1) append(pOutputStr,count,j); append(pOutputStr,tmp,j); print(pOutputStr);}int main(){ char* pInputStr=new char[N]; int lInputLen; char* pOutputStr; cin>>pInputStr; lInputLen=strlen(pInputStr); stringZip(pInputStr,lInputLen,pOutputStr);}
0 0
- 将字符串中连续出现的重复字母进行压缩
- 将字符串中连续出现的重复字母进行压缩
- 字符串处理算法(八)将字符串中连续出席的重复字母进行压缩(华为校园招聘题)
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc
- 华为上机笔试之通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 统计输入的字符串中最大连续重复字母的个数
- 实现简易字符串压缩算法:一个长度最大为128的字符串, 由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的
- 对输入字符串进行压缩,输入"aaabcccdde",输出"3ab3c2de",即对连续出现的字符进行压缩。
- 字符串中连续出现最多的子串 & 字符串中最长重复子串
- 编码 统计连续字符串中连续字母的个数。
- 找出字符串中重复最多的字母
- 【百度2012年10月20日笔试】2.求字符串中连续重复字母的最大重复次数, 如: aabbbbcadd 的最大字母重复次数为 4, 有四个连续的b. 要求用递归实现.
- 给定一个只包含小写字母的字符串,删除重复的字母,每个字母只出现一次。在所有结果中,输出字典顺序最小的。
- 压缩字符串中的连续重复字符
- 压缩字符串中的连续重复字符
- pthread join 和detach 的处理
- Get the Android SDK---获取Android SDK
- Python结合OpenCV学习资料
- AxureRP教程
- 安卓实训教程第一天:搭建环境,并且运行第一个helloworld以及电话拨号器
- 将字符串中连续出现的重复字母进行压缩
- 动态规划之钢条切割
- javascript要点,易忽略的基础
- 使用欧拉Φ函数和欧拉定理计算模取幂的周期
- Pig common command
- shell学习1:入门
- 菜鸟记录学习java的点点滴滴之入门
- Python:去掉粘贴代码后的行号
- AVR键盘扫描