Ctrl K

Самый высокий после подрезки

Средняя
Дан массив heights положительных целых чисел — высоты столбиков. Столбики можно переставить в любом порядке, а любой из них — подрезать, уменьшив высоту до меньшего положительного целого. Оба действия разрешено делать сколько угодно раз. В итоге ряд должен быть аккуратным: первый столбик имеет высоту 1, а высоты любых двух соседних отличаются не больше чем на 1. Верните наибольшую высоту, которую может иметь столбик в таком аккуратном ряду.
Пример 1
heights=[7, 1, 3, 3] → 4

Ставим столбики как 1, 3, 3, 7 и подрезаем: 1, 2, 3, 4. Самый высокий — 4.

Пример 2
heights=[2, 2, 2, 2] → 2

Первый столбик приходится срезать до 1, остальные можно оставить по 2: 1, 2, 2, 2.

Пример 3
heights=[1000000000] → 1

Единственный столбик стоит первым и должен стать высотой 1.

Ограничения
  • 1 ≤ heights.length ≤ 10⁵
  • 1 ≤ heights[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамое большое число из кусков СредняяСтудии для записи СредняяНизко — высоко — низко СредняяСтрого низко — высоко СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
heights=[7, 1, 3, 3]
Ожидается
4

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