Entrevista a los 150 mejoresMedio

Subsecuencias distintas

Guía detallada e implementación de Python para el problema 'Subsecuencias distintas'.

Declaración del problema

Medio

Dadas dos cadenas s y t, devuelve el número de subsecuencias distintas de s que es igual a t.

La subsecuencia de una cadena es una nueva cadena formada a partir de la cadena original eliminando algunos (puede ser ninguno) de los caracteres sin alterar las posiciones relativas de los caracteres restantes. (es decir, "ACE" es una subsecuencia de "ABCDE" mientras que "AEC" no lo es).

Escribe una función numDistinct(s: str, t: str) -> int.

Restricciones
  • 1 <= len(s), len(t) <= 1000
  • s and t consist of English letters

Ejemplos

Example 1
Input
s = "rabbbit", t = "rabbit"
Output
3
Explanation

There are 3 ways you can generate "rabbit" from s: **rab**b**bit**, **ra**b**bbit**, **rab**bb**it**.

Example 2
Input
s = "babgbag", t = "bag"
Output
5
Explanation

There are 5 ways you can generate "bag" from s.

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.