Menu
CoddyTech

Letter Combinations of a Phone Number

MedioBacktrackingpython iconjava iconcpp iconc iconjs icon+10

En un teclado de teléfono, cada dígito del 2 al 9 tiene algunas letras: 2 es abc, 3 es def, 4 es ghi, 5 es jkl, 6 es mno, 7 es pqrs, 8 es tuv y 9 es wxyz.

Recibes una cadena digits. Elige una letra para cada dígito, manteniendo los dígitos en su orden, y obtienes una cadena que se puede escribir con las teclas. Devuelve todas esas cadenas, ordenadas en orden lexicográfico (de diccionario).

Función

letterCombinations(digits: string) → string-array
digitsstring
los dígitos pulsados, cada uno del 2 al 9
Devuelvestring-array
cada cadena que pueden escribir las teclas, en orden lexicográfico

Restricciones

  • 1 ≤ digits.length ≤ 4
  • Cada carácter de digits es un dígito del 2 al 9.
  • La respuesta contiene como máximo 44 = 256 cadenas.

Ejemplos

Entrada
digits = "23"
Salida
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Explicación
2 ofrece a, b, c y 3 ofrece d, e, f. Cada primera letra se empareja con cada segunda letra: 3 × 3 = 9 cadenas, ordenadas de modo que la primera letra cambie más lentamente.
challenge icon

Para ir más allá

Supongamos que solo quieres las combinaciones que son palabras reales de un diccionario. ¿Cómo evitarías generar primero todas las cadenas de 4^n?

Restablecer código
def letterCombinations(digits):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumento

digits = "23"

Salida Esperada

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