Menu
CoddyTech

Permutation in String

Una permutación de una cadena usa las mismas letras en cualquier orden, cada una tantas veces como en la cadena original: tar, rat y art son permutaciones entre sí. Recibes dos cadenas s1 y s2 formadas por letras minúsculas del alfabeto inglés. Devuelve true si alguna permutación de s1 aparece en s2 como subcadena (una secuencia de caracteres consecutivos), y false en caso contrario.

Función

checkInclusion(s1: string, s2: string) → boolean
s1string
las letras que hay que reordenar
s2string
la cadena en la que buscar
Devuelveboolean
verdadero si una subcadena de s2 es una reordenación de s1

Restricciones

  • 1 ≤ s1.length ≤ 2 × 104
  • 1 ≤ s2.length ≤ 5 × 104
  • s1 y s2 contienen solo letras inglesas minúsculas (a a z).
  • s1 puede ser más largo que s2.

Ejemplos

Entrada
s1 = "tar"s2 = "smartphone"
Salida
true
Explicación
La subcadena art en los índices del 2 al 4 de smartphone contiene una a, una r y una t, las mismas letras que tar.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes devolver todos los índices de s2 donde comienza una permutación de s1, todavía en tiempo O(m + n)?

Restablecer código
def checkInclusion(s1, s2):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

s1 = "tar"
s2 = "smartphone"

Esperado

true