diff --git a/java/score-after-flipping-matrix.java b/java/score-after-flipping-matrix.java new file mode 100644 index 0000000..e71fd83 --- /dev/null +++ b/java/score-after-flipping-matrix.java @@ -0,0 +1,22 @@ +class Solution { + public int matrixScore(int[][] grid) { + int rows = grid.length; + int cols = grid[0].length; + + int score = rows * (1 << (cols - 1)); + + for (int x = 1; x < cols; ++x) { + int same = 0; + for (int y = 0; y < rows; ++y) { + if (grid[y][x] == grid[y][0]) { + ++same; + } + } + + same = Math.max(same, rows - same); + score += same * (1 << (cols - x - 1)); + } + + return score; + } +}