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