Menu
CoddyTech

Minimum Window Substring

Você recebe duas strings, s e t. Encontre a substring mais curta de s que contenha todos os caracteres de t, contando as repetições: se t tiver uma letra duas vezes, a substring deverá tê-la pelo menos duas vezes. A ordem não importa, e outros caracteres também podem aparecer.

Se várias substrings forem as mais curtas, retorne a que aparece mais à esquerda. Se nenhuma contiver todos os caracteres de t, retorne uma string vazia.

Função

minWindow(s: string, t: string) → string
sstring
a string em que pesquisar
tstring
os caracteres que a janela deve conter, incluindo repetições
Retornastring
a substring mais curta e, em caso de empate, mais à esquerda de s que contém todos os caracteres de t, ou uma string vazia

Restrições

  • 1 ≤ s.length ≤ 5 × 104
  • 1 ≤ t.length ≤ 104
  • s e t contêm apenas letras do inglês. Letras maiúsculas e minúsculas são caracteres diferentes.
  • Quando várias substrings forem as mais curtas, a resposta é a mais à esquerda; quando nenhuma existir, é "".

Exemplos

Entrada
s = "mappingtheplan"t = "nap"
Saída
"plan"
Explicação
A primeira janela da esquerda que contém um n, um a e um p é appin, com cinco caracteres. plan contém os três em quatro caracteres, e nenhuma sequência de três os contém.
challenge icon

Para ir além

Quando t usa poucas letras e s é longo, a maior parte de s nunca importa. Você consegue fazer a janela saltar apenas entre as posições que contêm uma letra de t?

Redefinir código
def minWindow(s, t):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

s = "mappingtheplan"
t = "nap"

Saída Esperada

"plan"