Top 150-InterviewMittel

Wege entschlüsseln

Detaillierte Anleitung und Python-Implementierung für das Problem „Decode Ways“.

Problemstellung

Mittel

Eine Nachricht mit Buchstaben von A–Z kann mithilfe der folgenden Zuordnung in Zahlen kodiert werden:

'A' -> "1"

'B' -> „2“

...

'Z' -> "26"

Um eine verschlüsselte Nachricht zu dekodieren, müssen alle Ziffern gruppiert und dann mithilfe der oben beschriebenen umgekehrten Zuordnung wieder in Buchstaben umgewandelt werden. „11106“ kann beispielsweise wie folgt zugeordnet werden:

- „AAJF“ mit der Gruppierung (1 1 10 6)

- „KJF“ mit der Gruppierung (11 10 6)

Beachten Sie, dass die Gruppierung (1 11 06) ungültig ist, da „06“ nicht in „F“ abgebildet werden kann, da „6“ sich von „06“ unterscheidet.

Geben Sie bei einer gegebenen Zeichenfolge s, die nur Ziffern enthält, die Anzahl der Möglichkeiten zurück, sie zu dekodieren.

Schreiben Sie eine Funktion numDecodings(s: str) -> int.

Einschränkungen
  • 1 <= len(s) <= 100
  • s contains only digits and may contain leading zero(s)

Beispiele

Example 1
Input
s = "12"
Output
2
Explanation

"12" could be decoded as "AB" (1 2) or "L" (12).

Example 2
Input
s = "226"
Output
3
Explanation

"226" could be decoded as "BZ" (2 26), "VF" (22 6), or "BBF" (2 2 6).

Example 3
Input
s = "06"
Output
0
Explanation

"06" cannot be mapped to 'F' because of the leading zero.

Need a Hint?
Erwägen Sie die Verwendung von 1D-DP-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.