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