华为机试 - 字符串去重复字节/字符串去连续重复字节
来源:互联网 发布:java项目开发视频 编辑:程序博客网 时间:2024/05/20 21:46
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
比如字符串“abacacde”过滤结果为“abcde”。
要求实现函数:
void stringFilter(const char *pInputStr,long lInputLen, char *pOutputStr);
【输入】 pInputStr:输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
#include <iostream>#include <climits>#include <algorithm>using namespace std;void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr){int count[256]={0};size_t index=0;for(int i=0;i<lInputLen;i++){if (count[pInputStr[i]]==0){count[pInputStr[i]]=1;pOutputStr[index++]=pInputStr[i];}}}int main(){long inputLen;cin>>inputLen;char *str=new char[inputLen]();char *strOut=new char[inputLen]();for(int i=0;i<inputLen;i++)cin>>str[i];stringFilter(str,inputLen,strOut);cout<<strOut<<endl;system("pause");return 0;}
通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
压缩规则:
1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".
2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"
要求实现函数:
void stringZip(const char*pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
#include <iostream>#include <climits>#include <algorithm>using namespace std;void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr){if(pInputStr==NULL||lInputLen==0) return;size_t index=0;char prev=pInputStr[0];int count=1;for(int i=1;i<lInputLen;i++){if (prev!=pInputStr[i]){if(count!=1)pOutputStr[index++]=count+'0';pOutputStr[index++]=prev;prev=pInputStr[i];count=1;}else{count++;}}if(count!=1)pOutputStr[index++]=count+'0';pOutputStr[index]=prev;}int main(){long inputLen;cin>>inputLen;char *str=new char[inputLen]();char *strOut=new char[inputLen]();for(int i=0;i<inputLen;i++)cin>>str[i];stringZip(str,inputLen,strOut);cout<<strOut<<endl;system("pause");return 0;}
0 0
- 华为机试 - 字符串去重复字节/字符串去连续重复字节
- 【面试题】连续重复字符串去重
- [C#]字符串去重复
- 字符串数组去重复
- 字符串去重复
- JAVA去重复字符串
- 字符串去重复
- js字符串去重复操作
- 华为机试-按字节截取字符串
- 【华为机试】按字节截取字符串
- 字符串去重复全排列算法
- 字符串操作,去重复以及字符转化字符串
- 去重复
- 华为机试练习---按字节数截取字符串
- 华为机试: 按字节截取字符串、超长正整数相加
- OJ 系列之去重复字符串并排序
- 字符串的全排列组合(去重复)的相关问题
- 华为机试—字符串去重排序
- hdu 2004 成绩转换
- day02
- 虚函数与多态(一):虚函数表指针、虚析构函数、object slicing与虚函数、C++对象模型图
- JavaScript的那些书
- 内存管理
- 华为机试 - 字符串去重复字节/字符串去连续重复字节
- linux下libxml2库使用说明
- 为mysql 增加远程访问权限
- 关于查询
- 并查集 How Many Answers Are Wrong HDU 3038
- javascript推荐书籍
- FatMouse and Cheese
- mysql时间函数
- batch 截取字符串