Menu
CoddyTech

Letter Combinations of a Phone Number

Trung bìnhQuay luipython iconjava iconcpp iconc iconjs icon+10

Trên bàn phím điện thoại, mỗi chữ số từ 2 đến 9 tương ứng với một vài chữ cái: 2 là abc, 3 là def, 4 là ghi, 5 là jkl, 6 là mno, 7 là pqrs, 8 là tuv và 9 là wxyz.

Bạn nhận được một chuỗi digits. Chọn một chữ cái cho mỗi chữ số, giữ nguyên thứ tự các chữ số, bạn sẽ có một chuỗi mà các phím có thể nhập. Trả về tất cả các chuỗi như vậy, được sắp xếp theo thứ tự từ điển.

Hàm

letterCombinations(digits: string) → string-array
digitsstring
các chữ số bạn đã nhấn, mỗi chữ số từ 2 đến 9
Trả vềstring-array
mọi chuỗi mà các phím có thể nhập, theo thứ tự từ điển

Ràng buộc

  • 1 ≤ digits.length ≤ 4
  • Mỗi ký tự trong digits là một chữ số từ 2 đến 9.
  • Đáp án chứa tối đa 44 = 256 chuỗi.

Ví dụ

Đầu vào
digits = "23"
Đầu ra
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Giải thích
2 cung cấp a, b, c và 3 cung cấp d, e, f. Mỗi chữ cái đầu ghép với mỗi chữ cái thứ hai: 3 × 3 = 9 chuỗi (string), được sắp xếp sao cho chữ cái đầu thay đổi chậm nhất.
challenge icon

Câu hỏi mở rộng

Giả sử bạn chỉ muốn những tổ hợp tạo thành từ có thật trong từ điển. Làm thế nào để tránh tạo trước tất cả các chuỗi 4^n?

Đặt lại code
def letterCombinations(digits):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

digits = "23"

Đầu ra mong đợi

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