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. שאר הזוגות נותנים t לפני a, t לפני c ו־a לפני c. שום כלל לא מזכיר את e, ולכן הסדר הקטן ביותר מתחיל בו: e, t, a, c, n.
challenge icon

שאלת המשך

איך היית קובע אם סדר ההתאמה הוא היחיד?

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

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנט

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

הפלט הצפוי

"etacn"