Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- https://leetcode.com/problems/score-after-flipping-matrix/
- Runtime: 0 ms, faster than 100.00% of Java online submissions for Score After Flipping Matrix.
- Memory Usage: 36.2 MB, less than 100.00% of Java online submissions for Score After Flipping Matrix.
- */
- class Solution {
- public int matrixScore(int[][] A) {
- int il = A.length, jl = A[0].length;
- // flip rows
- for (int i = 0; i < il; i++) {
- int[] r = A[i];
- if (r[0] == 0) {
- for (int j = 0; j < jl; j++) {
- r[j] = r[j] == 0 ? 1 : 0;
- }
- }
- }
- // flip columns
- for (int j = 1; j < jl; j++) {
- int zeros = 0;
- for (int i = 0; i < il; i++) {
- if (A[i][j] == 0) ++zeros;
- }
- if (zeros > il - zeros) {
- for (int i = 0; i < il; i++) {
- A[i][j] = A[i][j] == 0 ? 1 : 0;
- }
- }
- }
- int ans = 0;
- for (int i = 0; i < il; i++) {
- int num = 0;
- int[] row = A[i];
- for (int j = 0; j < jl; j++) {
- num = (num << 1) + row[j];
- }
- ans += num;
- }
- return ans;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement