Menu
CoddyTech

Alien Dictionary

Una lista de palabras está ordenada según un alfabeto que no conoces: las 26 letras minúsculas del inglés en algún orden secreto. Las palabras se comparan como de costumbre. La primera posición en la que dos palabras difieren determina el orden y, cuando una palabra es el inicio de otra, la más corta va primero.

Devuelve las letras que aparecen en las palabras, como una sola cadena ordenada alfabéticamente. Si encajan varios órdenes, devuelve el que aparece primero en el orden habitual del diccionario. Si no encaja ningún orden, devuelve "invalid".

Función

alienOrder(words: string-array) → string
wordsstring-array
las palabras, ordenadas según el alfabeto desconocido
Devuelvestring
las letras en el orden más pequeño que encaje, o "invalid"

Restricciones

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • Cada palabra contiene únicamente letras minúsculas del inglés.
  • La misma palabra puede aparecer más de una vez.

Ejemplos

Entrada
words = ["tea", "ten", "ate", "act", "cat"]
Salida
"etacn"
Explicación
tea antes de ten coloca a antes que n. Los otros pares indican t antes que a, t antes que c y a antes que c. Ninguna regla menciona e, así que el orden más pequeño empieza con ella: e, t, a, c, n.
challenge icon

Para ir más allá

¿Cómo determinarías si el orden de ajuste es el único?

Restablecer código
def alienOrder(words):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumento

words = ["tea", "ten", "ate", "act", "cat"]

Salida Esperada

"etacn"