您的位置:首页 > 其它

【华为机试】删除字符串中出现次数最少的字符

2018-03-22 21:37 525 查看

题目描述:

实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。

输入描述:

字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。

输出描述:

删除字符串中出现次数最少的字符后的字符串

示例1
输入
abcdd
输出
dd


参考程序:

#include <iostream>
#include <string>
using namespace std;
int main(){
string str;
while(cin>>str){
int c[26]={0};
int i=-1;
int str_cout = str.size();
while(++i<str_cout)
++c[str[i]-'a'];
int min_count=20;
i=26;
while(--i>=0)
if(c[i] && c[i]<min_count)
min_count=c[i];
while(++i<str_cout)
if(c[str[i]-'a']>min_count)cout<<str[i];
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法题 华为机试