Ctrl K

Наименьшее число плотных групп

Средняя
Дан массив целых чисел values и число spread. Все числа нужно разложить по группам: каждое число попадает ровно в одну группу, порядок внутри групп не важен. Группа считается плотной, если разница между её наибольшим и наименьшим числом не превосходит spread. Верните наименьшее количество групп, при котором все группы плотные.
Пример 1
values=[9, 1, 4, 10, 3], spread=3 → 2

Группы {1, 3, 4} и {9, 10}: в каждой разница между наибольшим и наименьшим не больше 3. Одной группы мало — 10 − 1 = 9.

Пример 2
values=[7, 7, 8], spread=0 → 2

При нулевом разбросе в группе могут быть только равные числа: {7, 7} и {8}.

Пример 3
values=[5], spread=2 → 1
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 0 ≤ values[i] ≤ 10⁵
  • 0 ≤ spread ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамое большое число из кусков СредняяСтудии для записи СредняяНизко — высоко — низко СредняяСтрого низко — высоко СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
values=[9, 1, 4, 10, 3], spread=3
Ожидается
2

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