Menu
CoddyTech

Letter Combinations of a Phone Number

MittelBacktrackingpython iconjava iconcpp iconc iconjs icon+10

Auf einer Telefontastatur sind jeder Ziffer von 2 bis 9 einige Buchstaben zugeordnet: 2 ist abc, 3 ist def, 4 ist ghi, 5 ist jkl, 6 ist mno, 7 ist pqrs, 8 ist tuv und 9 ist wxyz.

Du erhältst eine Zeichenfolge digits. Wähle für jede Ziffer einen Buchstaben aus, wobei die Reihenfolge der Ziffern erhalten bleibt, und du erhältst eine Zeichenfolge, die mit den Tasten eingegeben werden kann. Gib alle solchen Zeichenfolgen in lexikografischer (Wörterbuch-)Reihenfolge zurück.

Funktion

letterCombinations(digits: string) → string-array
digitsstring
die gedrückten Ziffern, jeweils von 2 bis 9
Gibt zurückstring-array
jede Zeichenfolge, die mit den Tasten eingegeben werden kann, in lexikografischer Reihenfolge

Einschränkungen

  • 1 ≤ digits.length ≤ 4
  • Jedes Zeichen von digits ist eine Ziffer von 2 bis 9.
  • Die Antwort enthält höchstens 44 = 256 Zeichenfolgen.

Beispiele

Eingabe
digits = "23"
Ausgabe
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Erklärung
2 bietet a, b, c und 3 bietet d, e, f. Jeder erste Buchstabe wird mit jedem zweiten Buchstaben kombiniert: 3 × 3 = 9 Zeichenfolgen, sortiert, wobei sich der erste Buchstabe am langsamsten ändert.
challenge icon

Weiterführende Frage

Angenommen, du möchtest nur die Kombinationen, die echte Wörter aus einem Wörterbuch sind. Wie könntest du vermeiden, zuerst alle 4^n Zeichenfolgen zu erstellen?

Code zurücksetzen
def letterCombinations(digits):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argument

digits = "23"

Erwartete Ausgabe

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