150 principais entrevistasMédio

Subsequências distintas

Guia detalhado e implementação de Python para o problema de 'Subsequências distintas'.

Declaração do problema

Médio

Dadas duas strings s e t, retorne o número de subsequências distintas de s que é igual a t.

A subsequência de uma string é uma nova string formada a partir da string original, excluindo alguns (pode ser nenhum) dos caracteres sem perturbar as posições relativas dos caracteres restantes. (ou seja, "ACE" é uma subsequência de "ABCDE", enquanto "AEC" não é).

Escreva uma função numDistinct(s: str, t: str) -> int.

Restrições
  • 1 <= len(s), len(t) <= 1000
  • s and t consist of English letters

Exemplos

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 o uso de estruturas de dados 2D específicas de DP, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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 Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.