Menu
CoddyTech

Longest Common Substring

Recibes dos cadenas, s1 y s2. Una subcadena es una secuencia ininterrumpida de letras tomadas de una cadena, como ork de clockwork. Encuentra la subcadena más larga que s1 y s2 tienen en común y devuelve su longitud. Cuando ninguna letra aparece en ambas cadenas, la respuesta es 0.

Función

longestCommonSubstring(s1: string, s2: string) → integer
s1string
la primera cadena
s2string
la segunda cadena
Devuelveinteger
la longitud del bloque más largo de letras que se encuentra en ambas cadenas

Restricciones

  • 1 ≤ s1.length ≤ 1000
  • 1 ≤ s2.length ≤ 1000
  • s1 y s2 están formadas por letras minúsculas del alfabeto inglés.

Ejemplos

Entrada
s1 = "clockwork"s2 = "workshop"
Salida
4
Explicación
work cierra clockwork y abre workshop, así que es una subcadena común de longitud 4, y no aparece ningún bloque más largo en ambas.
challenge icon

Para ir más allá

¿Puedes comprobar si existe una subcadena común de una longitud determinada L en aproximadamente O(n + m) de tiempo con un hash rodante y después hacer una búsqueda binaria sobre L?

Restablecer código
def longestCommonSubstring(s1, s2):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

s1 = "clockwork"
s2 = "workshop"

Salida Esperada

4