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.

Hai una stringa digits. Scegli una lettera per ogni cifra, mantenendo le cifre nello stesso ordine, e ottieni una stringa che i tasti possono digitare. Restituisci tutte le stringhe possibili, ordinate in ordine lessicografico (alfabetico). Per "23" ci sono nove stringhe, da "ad" a "cf".

Funzione

letterCombinations(digits: string) → string-array
digitsstring
le cifre premute, ciascuna da 2 a 9
Restituiscestring-array
ogni stringa 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, quindi ci sono 3 × 3 = 9 stringhe, e elencarle facendo cambiare più lentamente la prima lettera le mantiene ordinate.

lock icon+14 test nascosti all’invio

challenge icon

Per approfondire

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

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

Caso 1

Caso 2

Caso 3

Input

digits = "23"

Atteso

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