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

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

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()){
        // 构造map存储每个字符出现的次数
        const letterCountMap={};
        for(const c of line){
            letterCountMap[c]=(letterCountMap[c]||0)+1;
        }
        // 找出出现次数最少的字符
        let minCount=Infinity;
        const minCountLetterArr=[];
        for(const [letter,count] of Object.entries(letterCountMap)){
            if(count<minCount){
                minCount=count;
                minCountLetterArr.length=0;
                minCountLetterArr.push(letter);
            } else if(count==minCount){
                minCountLetterArr.push(letter);
            }
        }
        // console.log(`minCountLetterArr: ${minCountLetterArr.toString()}`);
        // 对原字符串进行过滤,得到目标字符串
        console.log(Array.from(line).filter(i=>!minCountLetterArr.includes(i)).join(""));
    }
}()

全部评论

相关推荐

昨天 11:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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