Python: подсчет количества подстрок из заданной строки строчных букв с ровно k различными символами
Строка 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 программирования