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.

lock icon+17 testes ocultos ao enviar

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
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

s1 = "tar"
s2 = "smartphone"

Esperado

true