#+ANKI_DECK: study_deck_02 * TODO 0073. Set Matrix Zeroes :medium: :PROPERTIES: :NEETCODE: [[file:../../roadmap.org::*0073. Set Matrix Zeroes][0073. Set Matrix Zeroes]] :END: Given an ~m x n~ integer matrix ~matrix~, if an element is ~0~, set its entire row and column to ~0~'s. You must do it in place. *Example 1:* #+begin_src Input: matrix = [[1,1,1],[1,0,1],[1,1,1]] Output: [[1,0,1],[0,0,0],[1,0,1]] #+end_src *Example 2:* #+begin_src Input: matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]] Output: [[0,0,0,0],[0,4,5,0],[0,3,1,0]] #+end_src *Constraints:* - ~m == matrix.length~ - ~n == matrix[0].length~ - ~1 <= m, n <= 200~ - ~-2^{31} <= matrix[i][j] <= 2^{31} - 1~ *Follow up:* - A straightforward solution using ~O(mn)~ space is probably a bad idea. - A simple improvement uses ~O(m + n)~ space, but still not the best solution. - Could you devise a constant space solution? ** TODO Approach Write your approach here. ** TODO Python #+begin_src python class Solution: def setZeroes(self, matrix: List[List[int]]) -> None: """ Do not return anything, modify matrix in-place instead. """ #+end_src ** TODO C++ #+begin_src cpp class Solution { public: void setZeroes(vector>& matrix) { } }; #+end_src