【华为机试】删除字符串中出现次数最少的字符
来源:互联网 发布:cdn软件 编辑:程序博客网 时间:2024/06/04 23:21
题目描述
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
输入描述:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:
删除字符串中出现次数最少的字符后的字符串。
示例1
输入abcdd
输出dd
分析:分三个步骤解决问题:
1).找到字符串中出现的每个字符的个数;
2).找到出现的字符最少个数;
3).去掉原字符串中的出现最少的字符;
程序:
#include <iostream>#include <string>using namespace std;int main(){string s;while (getline(cin, s)){int a[26] = { 0 }, i = 0,k=0;while (i < s.size()) { //保存字符的个数;a[s[i] - 'a']++;i++;}for (int j = 0; j < 26; j++){ //找到字符最少的个数;if (k == 0) k =a[j]>k?a[j]:k; //本可用k=max(k,a[j])的,但编译器不能识别#include<windows.h>else if(a[j]!=0) k =a[j]<k?a[j]:k;}i = 0;while (i < s.size()) { //去掉出现次数最少的字符;if (a[s[i] - 'a'] == k) s.erase(s.begin()+i);else i++;}cout << s << endl;}return 0;}
阅读全文
0 0
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ 删除字符串中出现次数最少的字符
- 【华为 OJ 】删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ删除字符串中出现次数最少的字符
- 【华为OJ】删除字符串中出现次数最少的字符
- 【华为OJ23】删除字符串中出现次数最少的字符
- 华为OJ-删除字符串中出现次数最少的字符
- 华为笔试:删除字符串中出现次数最少的字符
- 华为机试——删除一个字符串中出现次数最少的字符
- 华为机试——删除字符串中出现次数最少的字符
- Java - 华为机试训练 - 删除字符串中出现次数最少的字符
- 华为机试在线训练-牛客网(14)删除字符串中出现次数最少的字符
- 华为机试-删除字符串中出现最少次数的字符
- 牛客网_华为机试_023_删除字符串中出现次数最少的字符
- 【华为机试】删除字符串中出现次数最少的字符
- 《华为机试在线训练》之删除字符串中出现次数最少的字符
- 华为机试题:删除字符串中出现次数最少的字符
- 教你如何阅读Oracle数据库官方文档
- JS中的数组排序函数sort()和reverse()
- 大数据时代的数据库集群技术漫谈
- [LeetCode]101. Symmetric Tree
- hdu 6038 找规律 置换 2017 Multi-University Training Contest
- 【华为机试】删除字符串中出现次数最少的字符
- 使用Antlr实现简单的DSL
- 继承和组合的区别
- 扩展阅读 正则表达式与ReDOS
- continue VS break
- MongoDB mongo.exe启动及闪退解决
- 确定比赛名次
- python 异常处理
- C++11 STL中的容器