type
status
date
slug
summary
tags
category
icon
password
创建时间
Mar 13, 2025 08:53 AM
你现在手里有一份大小为
n x n
的 网格 grid
,上面的每个 单元格 都用 0
和 1
标记好了。其中 0
代表海洋,1
代表陆地。请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的,并返回该距离。如果网格上只有陆地或者海洋,请返回
-1
。我们这里说的距离是「曼哈顿距离」( Manhattan Distance):
(x0, y0)
和 (x1, y1)
这两个单元格之间的距离是 |x0 - x1| + |y0 - y1|
。暴力
BFS
将所有的陆地放入队列,填海造陆,将海洋变为路店,最后填的海是最远的。
为什么可以?因为曼哈顿距离计算的就是从一个格子到另一个格子的距离,左(右)移动多少个格子,上(下)移动多少个格子。
📎 参考
- 无