Python PodstawyŁatwe

Policz możliwe dekodowanie danego ciągu cyfr

Szczegółowy przewodnik i implementacja Python dla problemu „Zlicz możliwe dekodowanie danej sekwencji cyfr”.

Oświadczenie o problemie

Łatwe

Napisz funkcję count_decodings(digits), która pobiera ciąg cyfr i zwraca liczbę możliwych sposobów jego dekodowania, gdzie „A” = 1, „B” = 2, ..., „Z” = 26.

Na przykład „12” można zdekodować jako „AB” (1, 2) lub „L” (12), co daje 2 sposoby.

Jeśli ciąg zawiera „0” w nieprawidłowej pozycji (np. na początku „0” lub „30”), te ścieżki są nieprawidłowe i nie powinny być liczone.

Ograniczenia
  • 1 <= len(digits) <= 20
  • digits contains only characters '0' through '9'

Przykłady

Example 1
Input
count_decodings('12')
Output
2
Explanation

'12' can be decoded as 'AB' (1,2) or 'L' (12). So 2 ways.

Example 2
Input
count_decodings('226')
Output
3
Explanation

'226' can be decoded as 'BBF' (2,2,6), 'BZ' (2,26), or 'VF' (22,6). So 3 ways.

Example 3
Input
count_decodings('06')
Output
0
Explanation

'06' cannot be decoded because '0' has no letter mapping and '06' is not a valid code.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla Numbers, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.