Menu
CoddyTech

Permutation in String

Uma permutação de uma string usa as mesmas letras em qualquer ordem, cada uma tantas vezes quanto na original: tar, rat e art são permutações umas das outras. Você recebe duas strings s1 e s2 compostas por letras minúsculas do inglês. Retorne true se alguma permutação de s1 aparecer em s2 como uma substring (uma sequência de caracteres consecutivos) e false caso contrário.

Função

checkInclusion(s1: string, s2: string) → boolean
s1string
as letras para reorganizar
s2string
o texto a ser pesquisado
Retornaboolean
verdadeiro se uma substring de s2 for um rearranjo de s1

Restrições

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1 e s2 contêm apenas letras minúsculas do inglês (a a z).
  • s1 pode ser mais longo que s2.

Exemplos

Entrada
s1 = "tar"s2 = "smartphone"
Saída
true
Explicação
A substring art nos índices 2 a 4 de smartphone contém um a, um r e um t, as mesmas letras que tar.
challenge icon

Para ir além

Você consegue retornar todos os índices de s2 em que começa uma permutação de s1, ainda em tempo O(m + n)?

Redefinir código
def checkInclusion(s1, s2):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumentos

s1 = "tar"
s2 = "smartphone"

Saída Esperada

true