【力扣日记】598 范围求和II | 数学问题

题目描述

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

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

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

算法思路

易知,给定ops的数组是横纵轴坐标。
所以题目所求即ops中重复覆盖的最小面积。

        # if not ops:return m*n
        # if len(ops)==1:return ops[0][0]*ops[0][1]
        x,y=m,n
        for P in ops:
            i,j=P
            x=min(x,i)
            y=min(y,j)
        return x*y

执行用时 :52 ms, 在所有 Python 提交中击败了92.59%的用户
内存消耗 :14.8 MB, 在所有 Python 提交中击败了8.00%的用户

发布了210 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Heart_for_Ling/article/details/104860858