кодесурса
«Python

Python: найти минимальное окно в данной строке, которое будет содержать все символы другой данной строки

script1adsense2code
script1adsense3code

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

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

Пример 1
вход
str1 = "PRWSOERIUSFK"
str2 = "OSU"
Выход:
Минимальное окно "OERIUS"

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

Код Python:

import collections
def min_window(str1, str2):
    result_char, missing_char = collections.Counter(str2), len(str2)
    i = p = q = 0
    for j, c in enumerate(str1, 1):
        missing_char -= result_char[c] > 0
        result_char[c] -= 1
        if not missing_char:
            while i < q and result_char[str1[i]] < 0:
                result_char[str1[i]] += 1
                i += 1
            if not q or j - i <= q - p:
                p, q = i, j
    return str1[p:q]
           
str1 ="PRWSOERIUSFK"
str2 ="OSU"
print("Original Strings:\n",str1,"\n",str2)
print("Minimum window:")
print(min_window(str1,str2))

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

 Оригинальные строки:
 PRWSOERIUSFK 
 ОГ
Минимальное окно:
OERIUS

Блок - схема:

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

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

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

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code