华为OJ(删除字符串中出现次数最少的字符)
2015-08-27 13:16
232 查看
描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
知识点: 字符串
题目来源: 内部整理
练习阶段: 中级
运行时间限制: 无限制
内存限制: 无限制
输入:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出:
删除字符串中出现次数最少的字符后的字符串。
样例输入: abcdd
样例输出: dd
知识点: 字符串
题目来源: 内部整理
练习阶段: 中级
运行时间限制: 无限制
内存限制: 无限制
输入:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出:
删除字符串中出现次数最少的字符后的字符串。
样例输入: abcdd
样例输出: dd
#include<iostream> #include<string> using namespace std; int main() { char c,str[20],str_out[20],alpha[26]={0};//alpha统计每个小写字母出现次数 int mincnt=20; cin>>str; for(int i=0;i<strlen(str);i++) alpha[str[i]-'a']++; for(int i=0;i<26;i++) if(alpha[i]!=0&&alpha[i]<mincnt) mincnt=alpha[i];//mincnt存放出现的最少次数(不为0) int j=0; for(int i=0;i<=strlen(str);i++) if(alpha[str[i]-'a']!=mincnt)//若原来字母不是出现次数最少则放入str_out中,注意str最后的'\0'也要复制到str_out中 str_out[j++]=str[i]; cout<<str_out<<endl; //system("pause"); return 0; }
相关文章推荐
- python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法
- java中的抽象类和接口
- 在ASP.NET 5应用程序中的跨域请求功能详解
- 编程风格——整洁代码的4个提示
- uva 1304 - Art Gallery(半平面相交)
- XML example with RESTEasy + JAXB
- CentOS 7 下安装 Redis 2.8.7
- 开源分布式搜索平台ELK+Redis+Syslog-ng实现日志实时搜索
- Linux系统强大的控制台、终端和shell的关系
- JQuery如何判断标签指定属性是否存在
- Offer被拒后,张一鸣决定跟技术人才聊聊,你的下一份工作应该在哪里
- SVN版本服务器使用
- hadoop四----数据收集flume
- linux下ffmpeg的使用方法
- C++循环顺序队列
- Informix11.7单机版安装centos7
- uva 1303 - Wall(凸包)
- snmp协议访问服务器得到CPU,内存等
- 删除程序池
- Linux-2.6.32.67内核裁剪与移植之LCD驱动的移植(2)