题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include <iostream>
using namespace std;
#include<unordered_map>
#include<algorithm>
#include<vector>
class Mycompare
{
public:
bool operator()(pair<char,unsigned long>&a,pair<char,unsigned long>&b)
{
return a.second<b.second;
}
};
int main() {
string str;
char delchar;
cin>>str;
unordered_map<char,unsigned long> umap;
for(unsigned long i=0;i<str.size();i++)
{
umap[str[i]]++;
}
// sort(umap.begin(),umap.end(),Mycompare());//map不能用sort,只能转换到vector中
vector<pair<char,unsigned long>> map_vec(umap.begin(),umap.end());
sort(map_vec.begin(),map_vec.end(),Mycompare());
delchar=(map_vec.begin())->first;
for(unsigned long i=0;i<str.size();i++)
{
if(umap[str[i]]<=umap[delchar])
{
str.erase(i,1);
i--;
}
}
cout<<str;
return 0;
}

OPPO公司福利 1202人发布