The Runtime Theory
mediumLeetCode#matrix#in-place-state

Set Matrix Zeroes

If a cell is zero, set its full row and column to zero in place.

The Runtime Theory Team25 min read
Solve it

Solving happens on the judge — come back and mark it done

Sample cases

inmatrix=[[1,1,1],[1,0,1],[1,1,1]]

out[[1,0,1],[0,0,0],[1,0,1]]

inmatrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]

out[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

inmatrix=[[1]]

out[[1]]

If a cell is zero, set its full row and column to zero in place.

A good solution should

  • State the invariant or decision rule that makes the approach correct.
  • Explain time and space costs in terms of input size and required output.
  • Handle empty, minimal, duplicate, and boundary-shaped inputs.

Reasoning prompt

Avoid cascading newly written zeros into additional rows and columns. Compare marker arrays with using the first row and column as markers.

Use the linked judge for the canonical challenge. The examples above are compact TRT checks; create additional tests around the boundary most likely to break your invariant.

More practice in this topic

One dispatch a week

The trace behind each problem, the tradeoff that explains it, and one technical dispatch per week — no noise.

One technical dispatch per week. No noise.

Not started

Sign in to save your learning progress.

Sign in to save