How to count the number of substrings with exactly k distinct characters in Python

1 Answer

0 votes
def CountSubstringWithKDistinctChars(s,  k) :
    count = 0
    i = 0
    
    while (i < len(s)) :
        ch = s[i]
        tmp = "" + str(ch)
        st = set()
        st.add(ch)
        j = i + 1
        while (j < len(s)) :
            next_ch = s[j]
            st.add(next_ch)
            tmp += next_ch
            if (len(tmp) >= k and len(st) == k) :
                count += 1
            j += 1
        i += 1
    return count

        
_str = "characters"
k = 4

print("Number of substrings with exactly k distinct characters = ", CountSubstringWithKDistinctChars(_str, k))




'''
run:

Number of substrings with exactly k distinct characters =  9

'''

 



answered Sep 18, 2022 by avibootz
...