01 Matrix
Explore how to solve the problem of finding the distance from each cell to the nearest zero in a binary matrix. This lesson guides you through understanding adjacency, constraints, and applying dynamic programming to optimize your solution.
We'll cover the following...
Statement
Given an mat, find the distance from each cell to the nearest
Constraints:
mat.row,mat.colmat.row * mat.colmat[i][j]There is at least one
in mat.
Example
Understand the problem
Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:
01 Matrix
Given a matrix, mat = [[0, 0, 0], [0, 1, 0], [1, 0, 0]], find the matrix that contains the distance of the nearest 0 for each cell.
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[0, 0, 0], [0, 1, 0], [1, 0, 0]]
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]
[[1, 0, 1], [0, 1, 0], [1, 0, 1]]
Figure it out!
We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.
Try it yourself
Implement your solution in the following coding playground.
public class UpdateMatrix {public static int[][] updateMatrix(int[][] mat) {// Replace this placeholder return statement with your codereturn new int[][]{};}}