Menu
CoddyTech

Minimum Window Substring

Recibes dos cadenas, s y t. Encuentra la subcadena más corta de s que contenga todos los caracteres de t, contando las repeticiones: si t contiene una letra dos veces, la subcadena debe contenerla al menos dos veces. El orden no importa y también pueden aparecer otros caracteres.

Si varias subcadenas tienen la misma longitud mínima, devuelve la que esté más a la izquierda. Si ninguna contiene todos los caracteres de t, devuelve una cadena vacía.

Función

minWindow(s: string, t: string) → string
sstring
la cadena en la que buscar
tstring
los caracteres que debe contener la ventana, incluidas las repeticiones
Devuelvestring
la subcadena más corta y, después, la más a la izquierda de s que contiene todos los caracteres de t, o una cadena vacía

Restricciones

  • 1 ≤ s.length ≤ 5 × 104
  • 1 ≤ t.length ≤ 104
  • s y t contienen únicamente letras inglesas. Las letras mayúsculas y minúsculas son caracteres diferentes.
  • Cuando varias subcadenas son las más cortas, la respuesta es la que está más a la izquierda; cuando no existe ninguna, es "".

Ejemplos

Entrada
s = "mappingtheplan"t = "nap"
Salida
"plan"
Explicación
La primera ventana desde la izquierda que contiene una n, una a y una p es appin, cinco caracteres. plan contiene las tres en cuatro caracteres, y ninguna secuencia de tres las contiene.
challenge icon

Para ir más allá

Cuando t tiene pocas letras y s es larga, la mayor parte de s nunca importa. ¿Puedes hacer que la ventana salte únicamente entre las posiciones que contienen una letra de t?

Restablecer código
def minWindow(s, t):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

s = "mappingtheplan"
t = "nap"

Salida Esperada

"plan"