🗒️1162. 地图分析
2025-3-13
| 2025-3-13
0  |  阅读时长 0 分钟
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

将所有的陆地放入队列,填海造陆,将海洋变为路店,最后填的海是最远的。
为什么可以?因为曼哈顿距离计算的就是从一个格子到另一个格子的距离,左(右)移动多少个格子,上(下)移动多少个格子。
 
 

📎 参考

  • 【题单】网格图(DFS/BFS/综合应用)
  • 决策树1091. 二进制矩阵中的最短路径
    Loading...