你现在手里有一份大小为 N x N 的『地圖』(网格) grid上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪┅个吗请返回该海洋区域到离它最近的陆地区域的距离。
如果我们的地图上只有陆地或者海洋请返回 -1。
海洋区域 (1, 1) 和所有陆地区域之间嘚距离都达到最大最大距离为 2。
思路:首先把所有的陆地放在一个队列中然后执行第一次循环,将与原陆地距离为1的海洋写入改队列Φ然后把原陆地全部删除;然后执行第二次循环,将于原陆地距离为2的海洋写入该队列中然后删除与原陆地距离为1的所有海洋;以此類推,当队列中没有海洋的时候就结束循环。所以最远距离就是当队列中没有值时的距离-1所以为了方便我们把起始距离设为-1,则最后返回的就是最远的距离