去除字符串中出现次数最少的字符
题目
题目
去除字符串中出现次数最少的字符,不改变原字符串的顺序。
“ababac” —— “ababa”
“aaabbbcceeff” —— “aaabbb”
题解
ts
function getStr(str: string) {
//计算出现次数
const sMap = new Map()
for (let item of str) {
let len = 0
if (sMap.has(item)) {
len = sMap.get(item)
sMap.set(item, len + 1)
} else {
len = 1
sMap.set(item, len)
}
}
//找最小
const sLen = str.length
let min = sLen
for (let item of sMap) {
const [key, time] = item
min = time < min ? time : min
}
//拼接字符串
let rStr = ''
for (let i = 0; i < sLen; i++) {
const s = str[i]
if (sMap.get(s) !== min) {
rStr += s
}
}
return rStr
}
console.log('🌰 ababac', getStr('ababac'))
console.log('🌰 aaabbbcceeff', getStr('aaabbbcceeff'))