Menu
CoddyTech

Summary Ranges

ניתן לך מערך ממוין nums של מספרים שלמים שונים. חלק אותו למספר הקטן ביותר של טווחים של מספרים שלמים עוקבים, כך שכל ערך שייך לטווח אחד בדיוק. כתוב טווח a..b כטקסט "a->b", או כ-"a" כשהוא מכיל ערך אחד. החזר את הטווחים בסדר עולה.

פונקציה

summaryRanges(nums: integer-array) → string-array
numsinteger-array
המערך הממויין של מספרים שלמים שונים
מחזירהstring-array
את הטווחים כטקסט, מהערכים הקטנים ביותר לגדולים ביותר

אילוצים

  • 1 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums ממוינת בסדר עולה ואין בה כפילויות.

דוגמאות

קלט
nums = [0, 1, 2, 5, 6, 9]
פלט
["0->2", "5->6", "9"]
הסבר
0, 1, 2 מופיעים זה אחר זה, ולכן הם יוצרים את "0->2". הקפיצה מ־2 ל־5 מתחילה טווח חדש, "5->6", ו־9 עומד לבדו בתור "9".

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

challenge icon

שאלת המשך

נניח ש-nums עשוי להכיל כפילויות, כמו [1, 2, 2, 3]. מה היית משנה כדי שהוא עדיין ידפיס "1->3"?

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

מקרה 1

מקרה 2

קלט

nums = [0, 1, 2, 5, 6, 9]

צפוי

["0->2", "5->6", "9"]