原题链接:Leecode 861. 翻转矩阵后的得分
class Solution {
public:
int matrixScore(vector<vector<int>>& grid) {
int n=grid.size(), m=grid[0].size();
for(int i=0;i<n;i++)
{
if(grid[i][0]==0)
{
for(int j=0;j<m;j++)
{
grid[i][j]=1-grid[i][j];
}
}
}
for(int j=1;j<m;j++)
{
int n0=0,n1=0;
for(int i=0;i<n;i++)
{
if(grid[i][j]==0) n0++;
else n1++;
}
if(n0>n1)
{
for(int i=0;i<n;i++)
{
grid[i][j]=1-grid[i][j];
}
}
}
int res=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(grid[i][j]) res+=pow(2,m-j-1);
}
}
return res;
}
};
|