Menu
CoddyTech

Alien Dictionary

単語のリストが、あなたには分からないアルファベット順でソートされています。つまり、英語の小文字26字が秘密の順序に並んでいます。単語は通常どおりに比較します。2つの単語で最初に異なる位置の文字で順序が決まり、一方の単語がもう一方の先頭部分と一致する場合は、短い単語が先になります。

単語に現れる文字を、アルファベット順に1つの文字列として返してください。複数の順序が当てはまる場合は、通常の辞書順で最初にくるものを返してください。当てはまる順序がない場合は、"invalid"を返してください。

関数

alienOrder(words: string-array) → string
wordsstring-array
未知のアルファベット順に並べ替えられた単語
戻り値string
条件に合う最小の順序の文字、または「無効」

制約

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • すべての単語は小文字の英字のみを含みます。
  • 同じ単語が複数回登場することがあります。

例

入力
words = ["tea", "ten", "ate", "act", "cat"]
出力
"etacn"
説明
tea は ten より前にあるので、a は n より前に置かれます。他の組み合わせからは、t が a より前、t が c より前、a が c より前であることが分かります。e について言及するルールはないため、最小の順序は e から始まります。つまり、e, t, a, c, n です。
challenge icon

発展問題

フィッティングの順序が唯一のものかどうか、どうすれば判断できますか?

コードをリセット
def alienOrder(words):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

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

期待される出力

"etacn"