Top 150 des entrevuesMoyen

Méthodes de décodage

Guide détaillé et implémentation de Python pour le problème 'Decode Ways'.

Énoncé du problème

Moyen

Un message contenant des lettres de A à Z peut être codé en chiffres en utilisant le mappage suivant :

'A' -> "1"

'B' -> "2"

...

'Z' -> "26"

Pour décoder un message codé, tous les chiffres doivent être regroupés puis mappés en lettres en utilisant le mappage inverse ci-dessus. Par exemple, « 11106 » peut être mappé dans :

- "AAJF" au regroupement (1 1 10 6)

- "KJF" avec le regroupement (11 10 6)

Notez que le regroupement (1 11 06) n'est pas valide car « 06 » ne peut pas être mappé dans « F » puisque « 6 » est différent de « 06 ».

Étant donné une chaîne s contenant uniquement des chiffres, renvoie le nombre de façons de la décoder.

Écrivez une fonction numDecodings(s: str) -> int.

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

Exemples

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?
Pensez à utiliser des structures de données 1D spécifiques à DP, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.