Leetcode-861 Score After Flipping Matrix(翻转矩阵后的得分)

 1 class Solution
 2 {
 3     public:
 4         int matrixScore(vector<vector<int>>& A)
 5         {
 6             for(int i = 0; i < A.size(); i ++)
 7             {
 8                 if(A[i][0]==0)
 9                 {
10                     for(int j = 0; j < A[i].size(); j ++)
11                     {
12                         A[i][j] = A[i][j] == 1 ? 0 : 1;
13                     }
14                 }
15             }
16 
17             for(int j = 0; j < A[0].size(); j ++)
18             {
19                 int zeroSum = 0;
20                 int oneSum = 0;
21                 for(int i = 0; i < A.size(); i ++)
22                 {
23                     if(A[i][j]==0)
24                     {
25                         zeroSum ++;
26                     }
27                     else
28                     {
29                         oneSum ++;
30                     }
31                 }
32                 if(zeroSum > oneSum)
33                 {
34                     for(int i = 0; i < A.size(); i ++)
35                     {
36                         A[i][j] = A[i][j] == 1 ? 0 : 1;
37                     }
38                 }
39             }
40             
41             int result = 0;
42             for(int i = 0;i < A.size();i ++)
43             {
44                 int tmpResult = 0;
45                 for(int j = 0;j < A[i].size();j ++)
46                 {
47                     if(A[i][j])
48                         tmpResult += pow(2,A[i].size()-j-1);
49                 }
50                 result += tmpResult;
51             }
52             return result;
53         }
54 };
原文地址:https://www.cnblogs.com/Asurudo/p/9702620.html