Menu
CoddyTech

Letter Combinations of a Phone Number

Telefon tuş takımında, 2 ile 9 arasındaki her rakam birkaç harfi temsil eder: 2, abc; 3, def; 4, ghi; 5, jkl; 6, mno; 7, pqrs; 8, tuv ve 9, wxyz.

Bir digits dizgesi alırsın. Rakamların sırasını koruyarak her rakam için bir harf seçtiğinde, tuşların yazabileceği bir dizge elde edersin. Bu tür tüm dizgeleri sözlük sırasına göre döndür.

Fonksiyon

letterCombinations(digits: string) → string-array
digitsstring
basılan rakamlar, her biri 2 ile 9 arasında
Döndürürstring-array
tuşların yazabileceği tüm dizeler, leksikografik sırayla

Kısıtlar

  • 1 ≤ digits.length ≤ 4
  • digits içindeki her karakter 2 ile 9 arasında bir rakamdır.
  • Yanıt en fazla 44 = 256 dize içerir.

Örnekler

Girdi
digits = "23"
Çıktı
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Açıklama
2, a, b, c harflerini ve 3, d, e, f harflerini sunar. İlk harflerin her biri ikinci harflerin her biriyle eşleşir: 3 × 3 = 9 dize; ilk harfin en yavaş değiştiği sırada sıralanır.
challenge icon

Ek soru

Diyelim ki yalnızca sözlükte bulunan gerçek kelimelerden oluşan kombinasyonları istiyorsun. Önce tüm 4^n dizeleri oluşturmaktan nasıl kaçınabilirsin?

Kodu sıfırla
def letterCombinations(digits):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

digits = "23"

Beklenen Çıktı

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