Ctrl K

Пустой прямоугольник по точкам

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

Прямоугольник с углами (0, 0) и (4, 2) пуст, его площадь 8. Прямоугольник от (0, 2) до (4, 5) больше, но внутри него лежит точка (2, 3), а у самого большого, от (0, 0) до (4, 5), на сторонах лежат (0, 2) и (4, 2).

Пример 2
dots=[[1, 1], [1, 4], [6, 1], [6, 4], [3, 4]] → -1

Единственный прямоугольник испорчен точкой (3, 4) на верхней стороне, поэтому ответ -1.

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

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