Solution 1
func minDeletion(s string, k int) int {
freqMap := make(map[rune]int,len(s))
for _,char := range s {
freqMap[char]+=1
}
var freqList []int
var deletions int
for _,cnt := range freqMap{
freqList=append(freqList,cnt)
}
slices.Sort(freqList)
freqLen := len(freqList)
for _,cnt := range freqList{
if freqLen<=k{
break
}
deletions+=cnt
freqLen--
}
return deletions
}
Leave a Reply