Find Nearest Point That Has the Same X or Y Coordinate
class Solution:
def nearestValidPoint(self, x: int, y: int, points: List[List[int]]) -> int:
valid_points = filter(lambda t: t[0] == x or t[1] == y, points)
cmin = float('inf')
minpoint = -1
for p in valid_points:
if (abs(p[0] - x) + abs(p[1] - y)) < cmin:
cmin = min(cmin, abs(p[0] - x) + abs(p[1] - y))
minpoint = p
for px, p in enumerate(points):
if p == minpoint:
return px
return -1