sudopower

lc_wc_449_q1

LC: WC 449: Q1: Minimum deletions for at most K chars

Link to problem

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

Your email address will not be published. Required fields are marked *

Related Blogs