Menu
CoddyTech

Letter Combinations of a Phone Number

MedioBacktrackingpython iconjava iconcpp iconc iconjs icon+10

Su una tastiera telefonica, ogni cifra da 2 a 9 corrisponde a qualche lettera: 2 è abc, 3 è def, 4 è ghi, 5 è jkl, 6 è mno, 7 è pqrs, 8 è tuv e 9 è wxyz.

Ti viene data una stringa digits. Scegli una lettera per ogni cifra, mantenendo le cifre nel loro ordine, e ottieni una stringa che i tasti possono digitare. Restituisci tutte le stringhe possibili, ordinate in ordine lessicografico (da dizionario).

Funzione

letterCombinations(digits: string) → string-array
digitsstring
le cifre premute, ciascuna da 2 a 9
Restituiscestring-array
tutte le stringhe che i tasti possono digitare, in ordine lessicografico

Vincoli

  • 1 ≤ digits.length ≤ 4
  • Ogni carattere di digits è una cifra da 2 a 9.
  • La risposta contiene al massimo 44 = 256 stringhe.

Esempi

Input
digits = "23"
Output
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Spiegazione
2 offre a, b, c e 3 offre d, e, f. Ogni prima lettera si abbina a ogni seconda lettera: 3 × 3 = 9 stringhe, ordinate in modo che la prima lettera cambi più lentamente.
challenge icon

Per approfondire

Supponiamo che tu voglia solo le combinazioni che sono parole reali presenti in un dizionario. Come eviteresti di creare prima tutte le stringhe 4^n?

Ripristina il codice
def letterCombinations(digits):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

digits = "23"

Output atteso

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