Score After Flipping Matrix

You are given an m x n binary matrix grid.

A move consists of choosing any row or column and toggling each value in that row or column, changing all 0's to 1's and all 1's to 0's.

Every row of the matrix is interpreted as a binary number, and the score of the matrix is the sum of these numbers.

Return the highest possible score after making any number of moves (including zero moves).

Example 1
0 0 1 1
1 0 1 0
1 1 0 0
Inputgrid = [[0,0,1,1],[1,0,1,0],[1,1,0,0]]
Output39
After flipping to obtain rows 0b1111, 0b1001, and 0b1111, the score is 15 + 9 + 15 = 39.
Example 2
0
Inputgrid = [[0]]
Output1
The single cell can be made 1, so the highest score is 1.

Constraints

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 20
  • grid[i][j] is either 0 or 1.

Asked at 3 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate