Ctrl K

Пустые прямоугольники между точками

Средняя
На плане участка отмечены точки spots, каждая задана координатами [x, y]. Ось y направлена вверх. Упорядоченная пара разных точек (A, B) подходит, если: - A лежит не правее и не ниже B, то есть A.x ≤ B.x и A.y ≥ B.y — A в верхнем левом углу, B в нижнем правом; - в прямоугольнике с этими углами, включая его границу, нет ни одной другой точки из spots. Если у точек совпадает x или y, прямоугольник вырождается в отрезок — правило то же: на отрезке не должно быть других точек. Верните количество подходящих пар.
Пример 1
spots=[[0, 4], [2, 2], [4, 0]] → 2

Пары ([0, 4], [2, 2]) и ([2, 2], [4, 0]) подходят. Прямоугольник пары ([0, 4], [4, 0]) содержит точку [2, 2], поэтому она не считается.

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

Подходит только пара ([3, 5], [5, 3]). Точка [1, 1] левее и ниже обеих других, поэтому ни в одной паре она не может быть ни верхним левым, ни нижним правым углом.

Пример 3
spots=[[2, 6], [2, 3], [2, 1]] → 2

Все точки на одной вертикали. Пары ([2, 6], [2, 3]) и ([2, 3], [2, 1]) подходят: «прямоугольник» вырождается в отрезок. Между [2, 6] и [2, 1] лежит [2, 3].

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

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