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

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

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;

void async function () {
    // Write your code here
    while(line = await readline()){
        // 统计字符串出现次数
        let codeDic = {};
        for(let i = 0; i < line.length; i++) {
            if(codeDic[line[i]]) {
                codeDic[line[i]]++;
            } else {
                codeDic[line[i]] = 1;
            }
        }
        // 找到需要删除的字符串,存入 deleteCodes
        let arrVal = Object.values(codeDic);
        let arrKey = Object.keys(codeDic);
        let deleteCodes = new Set([arrKey[0]]),minVal = arrVal[0];

        for(let i = 1; i < arrVal.length; i++) {
            if(minVal > arrVal[i]) {
                minVal = arrVal[i];
                deleteCodes = new Set([arrKey[i]]);
            } else if(minVal == arrVal[i]) {
                deleteCodes.add(arrKey[i]);
            }
        }

        //删除需要的字符串
        let res = [];
        for(let i = 0; i < line.length; i++) {
            if(!deleteCodes.has(line[i])) {
                res.push(line[i]);
            }
        }
        console.log(res.join(''));

    }
}()

全部评论

相关推荐

07-17 12:14
门头沟学院 Java
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
07-15 12:24
重庆大学 运营
坏消息:和好工作擦肩而过
给点吧求求了:怎么可能因为差几秒,估计就是简历更好看婉拒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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