Menu
CoddyTech

Alien Dictionary

Uma lista de palavras está ordenada em um alfabeto que você não conhece: as 26 letras minúsculas do inglês em alguma ordem secreta. As palavras são comparadas da maneira usual. A primeira posição em que duas palavras diferem determina qual das duas letras vem primeiro no alfabeto; quando uma palavra é o início da outra, a palavra mais curta vem primeiro.

Retorne as letras que aparecem nas palavras como uma única string na ordem do alfabeto. Quando várias ordens forem compatíveis com a lista, retorne aquela que vem primeiro na ordem alfabética comum. Quando nenhuma ordem for compatível, retorne "invalid".

Função

alienOrder(words: string-array) → string
wordsstring-array
as palavras, ordenadas no alfabeto desconhecido
Retornastring
as letras na menor ordem que se encaixa, ou "invalid"

Restrições

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • Toda palavra contém apenas letras minúsculas do inglês.
  • A mesma palavra pode aparecer mais de uma vez. FORMATO DE SAÍDA OBRIGATÓRIO: [Seu conteúdo traduzido aqui]

Exemplos

Entrada
words = ["tea", "ten", "ate", "act", "cat"]
Saída
"etacn"
Explicação
tea e ten diferem primeiro em a e n, então a vem antes de n. Os outros pares indicam que t vem antes de a, t vem antes de c e a vem antes de c. Nenhuma regra menciona e, então a menor ordem o coloca primeiro, depois t, depois a, depois c e n, que estão ambos livres nesse momento, com c primeiro.

lock icon+20 testes ocultos ao enviar

challenge icon

Para ir além

Como você verificaria se a ordem de ajuste é a única?

Redefinir código
def alienOrder(words):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

"etacn"