题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
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
let myMap = new Map()
while(line = await readline()){
for(let i = 0; i < line.length; i++) {
let char = line[i]
if (myMap.has(char)) {
// 如果有这个键,则出现次数加1
myMap.set(char, myMap.get(char) + 1)
} else {
myMap.set(char, 1)
}
}
// 获得map中最小的那个值
let min = Infinity
myMap.forEach((val) => {
min = Math.min(min, val)
})
// 获取最小次数的字母
let arr = []
myMap.forEach((val, key) => {
if (val == min) {
arr.push(key)
}
})
// 删除字符串中对应的字符
arr.forEach(item => {
line = line.replaceAll(item, '')
})
console.log(line)
}
}()