Entrevista a los 150 mejoresMedio

Subsecuencia común más larga

Guía detallada e implementación de Python para el problema de la 'Subsecuencia común más larga'.

Declaración del problema

Medio

Dadas dos cadenas texto1 y texto2, devuelve la longitud de su subsecuencia común más larga. Si no hay una subsecuencia común, devuelve 0.

Una subsecuencia de una cadena es una nueva cadena generada a partir de la cadena original con algunos caracteres (puede ser ninguno) eliminados sin cambiar el orden relativo de los caracteres restantes. (Por ejemplo, "ace" es una subsecuencia de "abcde").

Escribe una función longestCommonSubsequence(text1: str, text2: str) -> int.

Restricciones
  • 1 <= len(text1), len(text2) <= 1000
  • text1 and text2 consist of only lowercase English characters

Ejemplos

Example 1
Input
text1 = "abcde", text2 = "ace"
Output
3
Explanation

The longest common subsequence is "ace" and its length is 3.

Example 2
Input
text1 = "abc", text2 = "abc"
Output
3
Explanation

The longest common subsequence is "abc" and its length is 3.

Example 3
Input
text1 = "abc", text2 = "def"
Output
0
Explanation

There is no common subsequence, so the result is 0.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos 2D específicas de DP, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.