Ctrl K

Самый маленький прямоугольник из булавок

Средняя
На пробковой доске воткнуты булавки, их координаты даны в массиве pins, где pins[i] = [x, y]. Нужно натянуть резинку на четыре булавки так, чтобы получился прямоугольник. Стороны прямоугольника **не обязаны** быть параллельны осям — он может быть повёрнут как угодно. Верните наименьшую площадь такого прямоугольника. Если ни одна четвёрка булавок прямоугольник не образует, верните 0. Ответ засчитывается, если он отличается от точного не больше чем на 10⁻⁵.
Пример 1
pins=[[0, 2], [2, 0], [3, 1], [1, 3]] → 4.000000000000001

Эти четыре точки образуют повёрнутый прямоугольник со сторонами √8 и √2, его площадь 4.

Пример 2
pins=[[0, 0], [0, 1], [1, 0], [1, 1], [2, 1], [1, 2]] → 1.0

Есть квадрат [0, 0], [0, 1], [1, 1], [1, 0] площадью 1 и повёрнутый квадрат [1, 0], [2, 1], [1, 2], [0, 1] площадью 2. Меньшая площадь — 1.

Пример 3
pins=[[0, 0], [1, 2], [3, 3]] → 0

Трёх точек мало для прямоугольника, ответ 0.

Ограничения
  • 1 ≤ len(pins) ≤ 50
  • pins[i] = [x, y], 0 ≤ x, y ≤ 4·10⁴
  • Все булавки стоят в разных точках
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиБез вмятин СредняяСамый маленький загон СредняяБлижайшие к базе точки СредняяУстройства в зоне роутера СредняяСамая длинная цепочка салюта Средняя
загружаем Python…
Вход
pins=[[0, 2], [2, 0], [3, 1], [1, 3]]
Ожидается
4.000000000000001

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