力扣-1779. 找到最近的有相同 X 或 Y 坐标的点

本文最后更新于:2022年12月5日 晚上

题目描述

1779

思路及实现

呃,rating 1200的题目,就不用多讲了吧,遍历points列表,如果x或者y坐标相同的话,就计算曼哈顿距离,然后维护最小曼哈顿距离mht_dis和计算得出这个距离的索引index就ok了。

1
2
3
4
5
6
7
8
9
10
11
class Solution:
def nearestValidPoint(self, x: int, y: int, points: List[List[int]]) -> int:
mht_dis = math.inf
index = -1
for i, p in enumerate(points):
if x == p[0] or y == p[1]:
tmp_mht_dis = abs(x - p[0]) + abs(y - p[1])
if tmp_mht_dis < mht_dis:
index = i
mht_dis = tmp_mht_dis
return index

这里有一只爱丽丝

希望本文章能够帮到您~


力扣-1779. 找到最近的有相同 X 或 Y 坐标的点
https://map1e-g.github.io/2022/12/01/leetcode-1779/
作者
MaP1e-G
发布于
2022年12月1日
许可协议