目录
题目:
示例:
分析:
代码+运行结果:
题目:

示例:

分析:
给我们一个矩阵,每次都把每行中的最大元素拿出来删掉,再把每次删除的元素里最大的元素拿出来加到结果里,问矩阵为空的时候,我们能得到的结果是多少。
我们可以暴力模拟,两层循环找出每层的最大元素,因为这是简单题,所以大概率不会超时(我没试过)
我们也可以直接把每行单独排序,然后依次按照列来查询每行的元素,找出最大值加到结果里,这样也不需要把元素删掉省去了不少时间。排序之后只需要把每行中同一列的元素拿出来比较即可。

代码+运行结果:
class Solution {
public:
    int deleteGreatestValue(vector<vector<int>>& grid) {
        for(auto &g:grid){
            sort(g.begin(),g.end());
        }
        int res=0;
        for(int j=0;j<grid[0].size();j++){
            int temp=grid[0][j];
            for(int i=1;i<grid.size();i++){
                if(grid[i][j]>temp) temp=grid[i][j];
            }
            res+=temp;
        }
        return res;
    }
};



















