Menu
CoddyTech

Letter Combinations of a Phone Number

Sur un clavier téléphonique, chaque chiffre de 2 à 9 correspond à quelques lettres : 2 correspond à abc, 3 à def, 4 à ghi, 5 à jkl, 6 à mno, 7 à pqrs, 8 à tuv et 9 à wxyz.

Tu reçois une chaîne de caractères digits. Choisis une lettre pour chaque chiffre, en conservant l’ordre des chiffres, et tu obtiens une chaîne que les touches peuvent saisir. Renvoie toutes ces chaînes, triées par ordre lexicographique (ordre du dictionnaire).

Fonction

letterCombinations(digits: string) → string-array
digitsstring
les chiffres saisis, chacun compris entre 2 et 9
Renvoiestring-array
chaque chaîne que les touches peuvent saisir, par ordre lexicographique

Contraintes

  • 1 ≤ digits.length ≤ 4
  • Chaque caractère de digits est un chiffre compris entre 2 et 9.
  • La réponse contient au maximum 44 = 256 chaînes.

Exemples

Entrée
digits = "23"
Sortie
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Explication
2 propose a, b, c et 3 propose d, e, f. Chaque première lettre est associée à chaque deuxième lettre : 3 × 3 = 9 chaînes, triées de sorte que la première lettre change le plus lentement.
challenge icon

Pour aller plus loin

Supposons que tu ne veuilles que les combinaisons qui sont de vrais mots du dictionnaire. Comment éviterais-tu de construire d’abord toutes les chaînes de longueur 4^n ?

Réinitialiser le code
def letterCombinations(digits):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Argument

digits = "23"

Résultat attendu

["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]