Menu
CoddyTech

Alien Dictionary

Một danh sách các từ được sắp xếp theo một bảng chữ cái mà bạn không biết: 26 chữ cái tiếng Anh viết thường theo một thứ tự bí mật. Các từ được so sánh như bình thường. Vị trí đầu tiên mà hai từ khác nhau sẽ quyết định thứ tự, và nếu một từ là phần đầu của từ kia thì từ ngắn hơn đứng trước.

Trả về các chữ cái xuất hiện trong những từ đó, dưới dạng một chuỗi theo thứ tự bảng chữ cái. Nếu có nhiều thứ tự phù hợp, hãy trả về thứ tự đứng trước theo thứ tự từ điển thông thường. Nếu không có thứ tự nào phù hợp, hãy trả về "invalid".

Hàm

alienOrder(words: string-array) → string
wordsstring-array
các từ được sắp xếp theo thứ tự bảng chữ cái chưa biết
Trả vềstring
các chữ cái theo thứ tự nhỏ nhất có thể, hoặc "invalid"

Ràng buộc

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • Mỗi từ chỉ chứa các chữ cái tiếng Anh viết thường.
  • Cùng một từ có thể xuất hiện nhiều lần.

Ví dụ

Đầu vào
words = ["tea", "ten", "ate", "act", "cat"]
Đầu ra
"etacn"
Giải thích
tea đứng trước ten nên a đứng trước n. Các cặp còn lại cho biết t đứng trước a, t đứng trước c và a đứng trước c. Không có quy tắc nào nhắc đến e, nên thứ tự nhỏ nhất bắt đầu bằng e: e, t, a, c, n.
challenge icon

Câu hỏi mở rộng

Làm thế nào để biết thứ tự lắp ghép đó có phải là thứ tự duy nhất không?

Đặt lại code
def alienOrder(words):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

"etacn"