题解 | #删除字符串中出现次数最少的字符#

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

https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

//
// Created by on 2022/8/1.
//

//描述
//        实现删除字符串中出现次数最少的字符,若出现次数最少的字符有*多个*,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
//
//数据范围:输入的字符串长度满足 1 \le n \le 20 \1≤n≤20  ,保证输入的字符串中仅出现小写字母
//        输入描述:
//字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
//
//输出描述:
//删除字符串中出现次数最少的字符后的字符串。

#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
//定义比较的函数 无论是 min_ele 还是 max_ele  第一个小于第2个那么返回true
bool cmp_value(const pair<int, int> left,const pair<int,int> right)
{
    return left.second < right.second;
}
int main()
{
    string s;
    cin>>s;
    map<char,int> mp;

    for( auto & c:s){
        mp[c]++;
    }

    auto it = min_element(mp.begin(),mp.end(),cmp_value) ;
    // 对于 map 返回的迭代器 能不能向 vector 那样 相减
    for (auto &ele:s){
        if( mp[ele] != it->second){
            cout<<ele;
        }
    }
    return 0;
}


全部评论

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务