кодесурса
«Python

Python: подсчет количества подстрок из заданной строки строчных букв с ровно k различными символами

script1adsense2code
script1adsense3code

Строка Python: упражнение 76 с решением

Напишите программу на Python для подсчета количества подстрок из заданной строки строчных алфавитов с ровно k различными (заданными) символами.

Пример решения : -

Код Python:

def count_k_dist(str1, k): 
	str_len = len(str1) 
	
	result = 0
	ctr = [0] * 27
	for i in range(0, str_len): 
		dist_ctr = 0
		ctr = [0] * 27
		for j in range(i, str_len): 
			
			if(ctr[ord(str1[j]) - 97] == 0): 
				dist_ctr += 1
			ctr[ord(str1[j]) - 97] += 1
			if(dist_ctr == k): 
				result += 1
			if(dist_ctr > k): 
				break
	return result 
str1 = input("Input a string (lowercase alphabets):")
k = int(input("Input k: "))
print("Number of substrings with exactly", k, "distinct characters : ", end = "") 
print(count_k_dist(str1, k))

Пример вывода:

 Введите строку (строчные буквы): волк
Вход k: 4
Количество подстрок с ровно 4 различными символами: 1

Блок - схема:

«Блок-схема:

Визуализируйте выполнение кода Python:

Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу на Python, чтобы найти наименьшее окно, которое содержит все символы данной строки.
Далее: Напишите программу на Python для подсчета количества непустых подстрок данной строки.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code