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 };