Menu
CoddyTech

Summary Ranges

Kamu mendapatkan array nums berisi bilangan bulat berbeda yang sudah diurutkan. Pisahkan array tersebut menjadi rentang bilangan bulat berurutan sesedikit mungkin, sehingga setiap nilai termasuk tepat dalam satu rentang. Tulis rentang a..b sebagai teks "a->b", atau sebagai "a" jika rentang tersebut berisi satu nilai. Kembalikan rentang dalam urutan menaik.

Fungsi

summaryRanges(nums: integer-array) → string-array
numsinteger-array
array bilangan bulat unik yang sudah diurutkan
Mengembalikanstring-array
rentang sebagai teks, dari nilai terkecil hingga terbesar

Batasan

  • 1 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums diurutkan secara menaik dan tidak memiliki duplikat.

Contoh

Input
nums = [0, 1, 2, 5, 6, 9]
Output
["0->2", "5->6", "9"]
Penjelasan
0, 1, 2 berurutan, jadi membentuk "0->2". Lompatan dari 2 ke 5 memulai rentang baru, "5->6", dan 9 berdiri sendiri sebagai "9".
challenge icon

Pertanyaan lanjutan

Misalkan nums bisa berisi nilai duplikat, seperti [1, 2, 2, 3]. Apa yang akan kamu ubah agar tetap mencetak "1->3"?

Reset kode
def summaryRanges(nums):
    # Tulis kodemu di sini

Tes #1

Tes #2

Argumen

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

Output yang diharapkan

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