شما یک آرایه عدد صحیح منحصر به فرد مرتب شده را دریافت می کنید. محدوده [a،b] مجموعه تمام اعداد صحیح از a تا b (شامل) است. کوچکترین لیست مرتب شده از محدوده ها را که تمام اعداد آرایه را دقیقاً پوشش می دهد، برگردانید. به این معنی که هر عنصر از محدوده ها دقیقاً توسط یکی از محدوده ها پوشش داده می شود و x عدد کامل وجود ندارد که x در یکی از محدوده ها باشد اما در محدوده ها نباشد. هر محدوده [a،b] در لیست باید به صورت: "a-> b" اگر a != b "a" اگر a == b
برای حل این مشکل، می توانید از طریق آرایه nums تکرار کنید و محدوده فعلی را با استفاده از دو متغیر پیگیری کنید. هنگامی که شکاف بین اعداد مجاور وجود دارد، می توانید محدوده قبلی را به لیست نتایج اضافه کنید و محدوده را به روز کنید تا از شماره فعلی شروع شود. در پایان تکرار، شما باید آخرین محدوده را به لیست نتایج اضافه کنید. در اینجا کد: ``` def خلاصهRanges ((nums): n = len ((nums) اگر n == 0: return [] = [] start = nums[0] برای i در محدوده 1, n): اگر nums[i] == nums[i-1] + 1: else ادامه دهید: اگر nums[i] == nums[i-1] res.appendstrums)) start else: start.start.appendstrums)) res.appendstrums)) res.appendstrums)) res.