Минимальное окно подстроки

Даны две строки s и t. Верните минимальную подстроку строки s, которая содержит все символы строки t, включая дубликаты. Если такой подстроки не существует, верните пустую строку "".

Можно считать, что правильный ответ всегда уникален.

Пример 1:

Input: s = "OUZODYXAZV", t = "XYZ" Output: "YXAZ" Объяснение: "YXAZ" - это кратчайшая подстрока, содержащая символы "X", "Y" и "Z" из строки t.

Рекомендуемая временная и пространственная сложность

Оптимальное решение имеет временную сложность O(n) и пространственную сложность O(k), где n — длина строки s, а k — количество уникальных символов в строке t.


Подсказка 1

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


Подсказка 2

Используйте две хеш-таблицы: одну для подсчета символов в строке t, другую для отслеживания текущего окна.


Подсказка 3

После нахождения валидного окна попробуйте его уменьшить, сдвигая левую границу вправо, пока окно остается валидным.

Эта задача проверяет навыки работы со строками и техникой скользящего окна. Она помогает развить понимание оптимизации алгоритмов и работы с хеш-таблицами.

Входные параметры :

"OUZODYXAZV", "XYZ"

Ожидаемый результат

yxaz