01 Matrix
Explore techniques to solve the matrix distance problem by calculating the shortest path from each cell to the nearest zero using dynamic programming. Understand how adjacency and matrix constraints influence the approach, preparing you for related interview questions.
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.
package mainfunc updateMatrix(mat [][]int) [][]int {// Replace this placeholder return statement with your codereturn [][]int{}}