Menu
CoddyTech

Alien Dictionary

רשימת מילים ממוינת לפי אלפבית שאינך מכיר: 26 האותיות האנגליות הקטנות בסדר סודי כלשהו. משווים בין מילים בדרך הרגילה. המיקום הראשון שבו שתי מילים שונות קובע איזו מהאותיות מופיעה קודם באלפבית, וכשאחת המילים היא תחילתה של האחרת, המילה הקצרה יותר מופיעה קודם.

החזר את האותיות שמופיעות במילים כמחרוזת אחת, לפי סדר האלפבית. אם כמה סדרים מתאימים לרשימה, החזר את הסדר שמופיע ראשון בסדר מילוני רגיל. אם שום סדר לא מתאים, החזר "invalid".

פונקציה

alienOrder(words: string-array) → string
wordsstring-array
המילים, ממוינות לפי האלפבית הלא ידוע
מחזירהstring
האותיות בסדר הקטן ביותר שמתאים, או "invalid"

אילוצים

  • 1 ≤ words.length ≤ 5000
  • 1 ≤ words[i].length ≤ 10
  • כל מילה מכילה רק אותיות אנגליות קטנות.
  • ייתכן שאותה מילה תופיע יותר מפעם אחת.

דוגמאות

קלט
words = ["tea", "ten", "ate", "act", "cat"]
פלט
"etacn"
הסבר
tea ו-ten נבדלות לראשונה ב-a וב-n, ולכן a מופיעה לפני n. הזוגות האחרים נותנים t לפני a, t לפני c ו-a לפני c. שום כלל אינו מזכיר את e, ולכן הסדר הקטן ביותר מציב אותה ראשונה, אחריה t, אחר כך a, ואז c ו-n, ששתיהן חופשיות בשלב הזה, כאשר c ראשונה.

lock icon+20 בדיקות נסתרות בשליחה

challenge icon

שאלת המשך

איך תוכל לדעת אם סדר ההתאמה הוא היחיד?

איפוס הקוד
def alienOrder(words):
    # כתבו כאן את הקוד
מקרי בדיקה

מקרה 1

מקרה 2

מקרה 3

קלט

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

צפוי

"etacn"