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

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

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

let line;

function func(line) {
    const map = {};
    let arr = line.split('');
    arr.forEach((item) => {
        if (map[item]) {
            map[item]++;
        } else {
            map[item] = 1;
        }
    });
    
    // 求最小次数
    let minNum = 20;
    for(let key in map) {
        minNum = Math.min(minNum, map[key]);
    }
    
    // 统计要删除的字符
    const arrDel = [];
    for(let key in map) {
        if(map[key] === minNum) arrDel.push(key);
    }
    
    // 删除掉
    let resArr = arr;
    arrDel.forEach((itemDel) => {
        resArr = resArr.filter((f) => {
            return f != itemDel; 
        });
    });
    
    return resArr.join('');
}

while(line = readline()){
   print(func(line));
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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