跳转至

598. 区间加法 II

难度:简单

题目

给你一个 m x n 的矩阵 M 和一个操作数组 op 。矩阵初始化时所有的单元格都为 0ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai0 <= y < bi 时, M[x][y] 应该加 1。

执行完所有操作后 ,计算并返回 矩阵中最大整数的个数

示例 1:

输入: m = 3, n = 3,ops = [[2,2],[3,3]]

输出: 4

解释: M 中最大的整数是 2, 而且 M 中有4个值为2的元素。因此返回 4。

示例 2:

输入: m = 3, n = 3, ops = [[2,2],[3,3],[3,3],[3,3],[2,2],[3,3],[3,3],[3,3],[2,2],[3,3],[3,3],[3,3]]

输出: 4

示例 3:

输入: m = 3, n = 3, ops = []

输出: 9

提示:

  • 1 <= m, n <= 4 * 10^4
  • 0 <= ops.length <= 10^4
  • ops[i].length == 2
  • 1 <= a_i <= m
  • 1 <= b_i <= n

Reference

题解

只需要统计所有操作中的最小行数和最小列数即可。

class Solution:
    def maxCount(self, m: int, n: int, ops: List[List[int]]) -> int:
        ops.append([m, n])
        l, r = zip(*ops)
        return min(l) * min(r)

评论