华为OJ-删除字符串中出现次数最少的字符

来源:互联网 发布:阿里云香港主机 编辑:程序博客网 时间:2024/05/16 19:47

一、题目要求:

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


二、输入输出

输入

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

输出

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

样例输入abcdd样例输出dd


三、代码实现

#include<iostream>#include<string>using namespace std;int search_min(int counter[]){    int len,Min;    Min = 100;    for(int i=0;i<26;++i)    {        if(counter[i]<Min&&counter[i]!=0)            Min=counter[i];    }    return Min;}int main(){    string str0;    string result="";    int flag,_min,len;    int letter_count[26]={0};    cin>>str0;    len = str0.size();    for(int i=0;i<len;++i)    {        flag=int(str0[i])-97;        letter_count[flag]++;    }    _min=search_min(letter_count);    for(int i=0;i<len;++i)    {        flag=int(str0[i])-97;        if(letter_count[flag]!=_min)        {            result+=str0[i];        }    }    cout<<result;    return  0;}

0 0
原创粉丝点击