01 Matrix
Explore how to solve the problem of finding the distance from each cell in a binary matrix to its nearest zero using dynamic programming. Understand adjacency rules and constraints to develop efficient solutions through step-by-step learning.
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[][]{};}}