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

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

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

function removeWords(s) {
    // map记录字符次数
    let tmap = {};
    for (let i = 0; i < s.length; ++i) {
        const ch = s[i];
        if (tmap.hasOwnProperty(ch)) {
            tmap[ch] = tmap[ch] + 1;
        } else {
            tmap[ch] = 1;
        }
    }

    // 找出最小字数字符
    let flag = 0;
    let tmp = [];
    for (let key in tmap) {
        const val = tmap[key];
        if (flag === 0) {
            flag = val;
            tmp.push(key);
            continue;
        }
        if (flag > val) {
            tmp = [];
            tmp.push(key);
            flag = val;
        } else if (flag === val) {
            tmp.push(key)
        }
    }
    tmap = null;
    
    // 删除字符
    let ret = s;
    tmp.forEach(ch => {
        const reg = new RegExp(ch, 'g');
        ret = ret.replace(reg, '');
    });
    tmp = null;
    return ret;
}

void async function () {
    // Write your code here
    while(line = await readline()){
        console.log(removeWords(line));
    }
}()

全部评论

相关推荐

Java面试先知:我也是和你一样的情况,hr 说等开奖就行了
点赞 评论 收藏
分享
在秋招的河老师很爱吃:40岁失业 假如22岁开始工作 18年前 2007年那个时候如何 2015年开始互联网爆发 这个时候有了8年经验 然后黄金10年 你想想这些年挣了多少 这要是进的时候某个大厂 这辈子根本花不完了
你找实习最大的坎坷是什么
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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