Design Gurus Logo
Remove All Ones With Row and Column Flips II (medium)

Problem Statement

Given a 0-indexed m x n binary matrix, return the minimum number of operations needed to remove all 1's from the matrix.

In one operation, you can choose any i and j such that:

  • 0 <= i < m
  • 0 <= j < n
  • grid[i][j] == 1

and change the values of all cells in row i and column j to zero.

Examples

Example 1:

  • Input:
[[1,0,1],
 [1,1,1],
 [0,1,0]]
  • Expected Output: 2
  • Justification: First, choose the cell [0,2], and perform operations. The matrix becomes [[0,0,0],[1,1,0],[0,1,0]]. Then, choose the middle cell [1,1]. The matrix becomes all zeros.

Example 2:

  • Input:
[[0,1,0],
 [1,1,1],
 [0,1,0]]
  • Expected Output: 1
  • Justification: A single operation on the middle cell (cell [1,1]) flips all the 1s to 0s. Thus, only 1 operation is needed.

Example 3:

  • Input:
[[1,1,0,0],
 [1,0,1,0],
 [0,1,1,0],
 [0,0,0,1]]
  • Expected Output: 3
  • Justification: Choose (0, 1), (1, 2), and (3, 3) cells respectively, and convert all values of respected columns and rows to zero.

Try it yourself

Try solving this question here:

Python3
Python3

. . . .

.....

.....

.....

Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory