标题
Given an m x n binary matrix mat, return the distance of the nearest 0 for each cell.
The distance between two adjacent cells is 1.
Example1:
Input: mat = [[0,0,0],[0,1,0],[0,0,0]]
Output: [[0,0,0],[0,1,0],[0,0,0]]
Example2:
Input: mat = [[0,0,0],[0,1,0],[1,1,1]]
Output: [[0,0,0],[0,1,0],[1,2,1]]
解题思绪
这道题的要求是求出每个cell到0的隔断,可以用BFS和DP两种方法来做。
方法时间复杂度空间复杂度BFSO(mn)O(mn)DPO(4mn)O(1)1. BFS
BFS的思绪是,找到出发点节点,然后以出发点为圆心,一层一层扩散的方式,遍历全部的节点。
BFS的实现模板,就是使用队列来实现。
模板代码如下: |