Вертикальная симметрия точек (Vertical Symmetry of Points)
3
Массивы
Условия
Условие:
Дан массив точек на плоскости с целочисленными координатами. Каждая точка представлена объектом { x: number, y: number }. Точки могут повторяться.
Нужно определить, существует ли вертикальная прямая x = c, относительно которой все точки образуют симметричный набор — то есть для каждой точки (x, y) в наборе найдётся точка (2c - x, y), также присутствующая в наборе (с учётом кратности повторов).
Напишите функцию, которая возвращает true, если такая вертикальная прямая существует, и false — в противном случае. Пустой массив и массив из одной точки считаются симметричными.
Входные данные:
points— массив объектов{ x: number, y: number }, длина от 0 до 1000
Выходные данные:
boolean — существует ли ось вертикальной симметрии.
Ограничения:
0 <= points.length <= 1000-10^4 <= x, y <= 10^4Координаты — целые числа
Точки могут повторяться
Пример:
Вход: [{x:0,y:0},{x:0,y:0},{x:1,y:1},{x:2,y:2},{x:3,y:1},{x:4,y:0},{x:4,y:0}]
Выход: true
Вход: [{x:0,y:0},{x:0,y:0},{x:1,y:1},{x:2,y:2},{x:3,y:1},{x:4,y:0}]
Выход: false
Вход: []
Выход: true
Вход: [{x:0,y:0}]
Выход: true
Вход: [{x:0,y:0},{x:10,y:0}]
Выход: true
Вход: [{x:0,y:0},{x:11,y:1}]
Выход: false
Вход: [{x:0,y:0},{x:1,y:0},{x:3,y:0}]
Выход: false