Menu
CoddyTech

Letter Combinations of a Phone Number

MédioBacktrackingpython iconjava iconcpp iconc iconjs icon+10

Em um teclado de telefone, cada dígito de 2 a 9 corresponde a algumas letras: 2 é abc, 3 é def, 4 é ghi, 5 é jkl, 6 é mno, 7 é pqrs, 8 é tuv e 9 é wxyz.

Você recebe uma string digits. Escolha uma letra para cada dígito, mantendo os dígitos na ordem em que aparecem, e você obterá uma string que as teclas podem digitar. Retorne todas essas strings, ordenadas em ordem lexicográfica (de dicionário).

Função

letterCombinations(digits: string) → string-array
digitsstring
os dígitos pressionados, cada um de 2 a 9
Retornastring-array
todas as strings que as teclas podem digitar, em ordem lexicográfica

Restrições

  • 1 ≤ digits.length ≤ 4
  • Cada caractere de digits é um dígito de 2 a 9.
  • The answer contém no máximo 44 = 256 strings.

Exemplos

Entrada
digits = "23"
Saída
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Explicação
2 oferece a, b, c e 3 oferece d, e, f. Cada primeira letra é combinada com cada segunda letra: 3 × 3 = 9 cadeias de caracteres, ordenadas quando a primeira letra muda mais lentamente.
challenge icon

Para ir além

Suponha que você queira apenas as combinações que sejam palavras reais de um dicionário. Como evitaria gerar primeiro todas as strings de 4^n?

Redefinir código
def letterCombinations(digits):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

digits = "23"

Saída Esperada

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