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

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

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

#include <iostream>
#include<string>
#include<vector>
using namespace std;

int main() {
    string str;
    int num[26]={0};
    cin>>str;
    vector<char> strMin;
    for(int i=0;i<str.size();i++){  //字符计数
        num[str[i]-'a']++;
    }
    for(int i=0;i<26;i++){  //将未出现的字符设置为大于最多字符数的值,便于排除
        if(num[i]==0){
            num[i]=100;
        }
    }
    int min=100;
    for(int i=0;i<26;i++){  //寻找出现次数最少的字符,并加入到strMin
        if(min>num[i]){
            min=num[i];
            strMin.clear();    //如果有比min值更小的,那么将strMin清空,再加入其最小值对应的字符
            strMin.push_back(char(i+'a'));
        }
        else if(min==num[i]){
            strMin.push_back(char(i+'a'));
        }
    }
    //不输出出现次数最少的字符
    bool outFlag=1;
    for(int i=0;i<str.size();i++){
        outFlag=1;
        for(int j=0;j<strMin.size();j++){
            if(str[i]==strMin[j]){
                outFlag=0;
                break;
            }
        }
        if(outFlag) cout<<str[i];
    }
    return 0;
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-24 13:39
在记录秋招的大魔王很...:别被忽悠了,我做了多年销售。我可以告诉你,这就是忽悠你的,销售一定要看底薪也要看提成两者不可缺一。提成是有业绩的时候才拿的到的,谁能保证一直有单状态都好。销售有时候很讲究运气的。底薪是你这个人这个岗位日常工作体现的价值。别小看底薪,你看那些跳槽去做经理主管的,底薪底一些,人家愿意去吗?所以那些说销售靠提成的纯属忽悠,除非他们的业务很容易成单。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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