Menu
CoddyTech

Summary Ranges

Farklı tam sayılardan oluşan sıralı bir nums dizisi alırsınız. Her değer tam olarak bir aralığa ait olacak şekilde diziyi, ardışık tam sayılardan oluşan mümkün olan en az sayıda aralığa bölün. a..b aralığını "a->b" metniyle, tek bir değer içeriyorsa "a" olarak yazın. Aralıkları artan sırada döndürün.

Fonksiyon

summaryRanges(nums: integer-array) → string-array
numsinteger-array
sıralanmış farklı tam sayılardan oluşan dizi
Döndürürstring-array
aralıkları, en küçük değerlerden en büyük değerlere doğru metin olarak

Kısıtlar

  • 1 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums artan sırada sıralanmıştır ve yinelenen öğe içermez.

Örnekler

Girdi
nums = [0, 1, 2, 5, 6, 9]
Çıktı
["0->2", "5->6", "9"]
Açıklama
0, 1, 2 birbirini takip eder, bu nedenle "0->2" aralığını oluştururlar. 2'den 5'e sıçrama yeni bir aralık başlatır: "5->6" ve 9 tek başına "9" olarak kalır.

lock iconGönderirken +16 gizli test

challenge icon

Ek soru

nums yinelenen değerler içerebilseydi, örneğin [1, 2, 2, 3], yine de "1->3" yazdırması için neyi değiştirirdin?

Kodu sıfırla
def summaryRanges(nums):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Girdi

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

Beklenen

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