Войти Регистрация
Алгоритмы

19. Свёртка чисел в диапазоны

Лёгкая

Дан список уникальных целых чисел nums в любом порядке. Верните строку: числа по возрастанию через запятую, а подряд идущие свёрнуты в диапазон «начало-конец».

Два подряд идущих числа тоже сворачиваются: [1, 2] → "1-2". Пустой список — пустая строка.

В работе: Подпись к выборке страниц для печати: «1,3-5,7».

Пример 1

Ввод
nums = [7, 3, 4, 10, 5, 1]
Вывод
"1,3-5,7,10"

Пример 2

Ввод
nums = [2, 1]
Вывод
"1-2"

Ограничения

  • 0 ≤ длина nums ≤ 10⁵
  • −10⁹ ≤ nums[i] ≤ 10⁹, все различны
  • Лимит — 1 с на тест.
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def fold_ranges(nums):
СортировкаМассивцельO(n log n)

Источник: отчёт о Яндексе, 2021. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.