Menu
CoddyTech
flag Ar iconالعربيةdown icon

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"]