0
点赞
收藏
分享

微信扫一扫

Leecode 861. 翻转矩阵后的得分 贪心

生活记录馆 2022-04-23 阅读 46

原题链接: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;
    }
};
举报

相关推荐

0 条评论