Ctrl K

Верёвка вокруг столбов

Сложная
На поле вбиты столбы, posts[i] = [x, y] — координаты i-го. Участок обносят верёвкой минимальной длины так, чтобы все столбы оказались внутри или на самой верёвке. Верните координаты всех столбов, которые лежат ровно на верёвке — в вершинах ограждения или на его сторонах. Порядок в ответе любой.
Пример 1
posts=[[0, 0], [4, 0], [4, 3], [0, 3], [2, 1], [2, 3]] → [[0, 0], [4, 0], [4, 3], [2, 3], [0, 3]]

Верёвка идёт по прямоугольнику с углами (0, 0), (4, 0), (4, 3), (0, 3). Столб (2, 3) стоит на верхней стороне и тоже касается верёвки, а (2, 1) — внутри.

Пример 2
posts=[[5, 5], [1, 1], [3, 3]] → [[5, 5], [1, 1], [3, 3]]

Все столбы на одной прямой — верёвка проходит через каждый.

Пример 3
posts=[[7, 2]] → [[7, 2]]
Ограничения
  • 1 ≤ len(posts) ≤ 3000
  • posts[i] = [x, y], 0 ≤ x, y ≤ 100
  • Все точки различны
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗвёзды на одной прямой СложнаяПересечёт ли робот свой след СложнаяПолить как можно больше растений СложнаяСклад поближе ко всем магазинам СложнаяПоворотная камера Сложная
загружаем Python…
Вход
posts=[[0, 0], [4, 0], [4, 3], [0, 3], [2, 1], [2, 3]]
Ожидается
[[0, 0], [4, 0], [4, 3], [2, 3], [0, 3]]

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