Ctrl K

Самый широкий промежуток

Средняя
Дан массив неотрицательных целых чисел values. Представьте, что его отсортировали по возрастанию. Верните наибольшую разность между двумя соседними элементами в этом порядке. Если в массиве меньше двух элементов, верните 0. Сортировка за O(n log n) решает задачу сразу. Попробуйте уложиться в линейное время и линейную дополнительную память.
Пример 1
values=[14, 2, 30, 7] → 16

По возрастанию: [2, 7, 14, 30]. Промежутки 5, 7 и 16 — самый широкий 16.

Пример 2
values=[42] → 0

Соседей нет, ответ 0.

Пример 3
values=[5, 5, 6, 5] → 1
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 0 ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСортировка своими руками СредняяСамые частые значения СредняяСамые частые запросы Средняяk-й код по последним цифрам СредняяБлизкие показания рядом Сложная
загружаем Python…
Вход
values=[14, 2, 30, 7]
Ожидается
16

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 126 тестов на сервере, включая скрытые.