1779.找到最近的有相同 X 或 Y 坐标的点
[1779.找到最近的有相同 X 或 Y 坐标的点](https://leetcode.cn/problems/find-nearest-point-that-has-the-same-x-or-y-coordinate/
方法一:遍历
时间复杂度 $O(n)$,空间复杂度 $O(1)$,n
表示数组 points
的长度。
func nearestValidPoint(x int, y int, points [][]int) int {
ans, minLen := -1, 1<<31-1
for i := 0; i < len(points); i++ {
a, b := points[i][0], points[i][1]
if (a == x || b == y) && abs(x, y, a, b) < minLen {
ans, minLen = i, abs(x, y, a, b)
}
}
return ans
}
func abs(x, y, a, b int) int {
ans1, ans2 := x-a, y-b
if ans1 < 0 {
ans1 = -ans1
}
if ans2 < 0 {
ans2 = -ans2
}
return ans1 + ans2
}