LeetCode打卡

wuchangjian2021-11-07 15:21:22编程学习

纪念一下,第一次在网吧写LeetCode,

给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。

操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。

在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。

这个问题其实可以转化为求二维数组中每列最小的数,最后相乘得到最大整数的元素个数,在提交的时候发现有一个空数组的问题,如果有空数组的话,那么所有数都是0,这个是无法判断的,所以我们提前判断数组为空的情况即可。

代码没保存,直接看题解。

class Solution {
public:
    int maxCount(int m, int n, vector<vector<int>>& ops) {
        int mina = m, minb = n;
        for (const auto& op: ops) {
            mina = min(mina, op[0]);
            minb = min(minb, op[1]);
        }
        return mina * minb;
    }
};

EDG NB;

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。