Ventana mínima que contiene un texto
Dados dos textos \(s\) y \(t\), encuentra el tramo contiguo más corto de \(s\) que contiene todas las letras de \(t\),
contando repeticiones (si \(t\) tiene dos a, el tramo necesita al menos dos a). Si hay varios del mismo largo,
elige el que empieza más a la izquierda. Si no existe, imprime -.
Seguimiento: ¿puedes encontrar un algoritmo que corra en \(O(|s| + |t|)\)?
Entrada
La primera línea tiene \(s\) y la segunda \(t\) \((1 \le |s|, |t| \le 10^5)\), ambos de letras inglesas mayúsculas y minúsculas (que son distintas entre sí).
Salida
El tramo pedido, o - si no existe.
Ejemplo 1
Entrada
ADOBECODEBANC
ABC
Salida
BANC
Ejemplo 2
Entrada
a
aa
Salida
-
Ejemplo 3
Entrada
a
a
Salida
a
Basado en el problema 76 de LeetCode, Minimum Window Substring, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.
Comentarios