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

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

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

无脑调用标准库

#include<iostream>
#include<string>
#include<algorithm>
#include<map>

inline int min(int a, int b);

int main(int argc, char const *argv[])
{
    std::string instr;
    std::map<char, int> mymap;
    int value_min = 20;//题目最大20个字符

    std::cin >> instr;

    for (auto c : instr)
    {
        mymap[c]++;
    }

    //找出最小数
    for (const auto &it : mymap)
    {
        value_min = min(it.second, value_min);
    }

    for (auto i = mymap.begin(); i != mymap.end(); i++)
    {
        if (i->second == value_min)
        {
            for (int a = 0; a < value_min; a++)
            {
                instr.erase(std::find(instr.begin(), instr.end(), i->first));
            }
            
        }
        
    }

    std::cout << instr <<std::endl;
    
    return 0;
}

inline int min(int a, int b)
{
    return a > b ? b : a;
}
全部评论

相关推荐

10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
11-13 20:32
门头沟学院 Java
面向未来编程code:我没看到他咋急,他不就问你个问题。。。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务