友情支持
如果您觉得这个笔记对您有所帮助,看在D瓜哥码这么多字的辛苦上,请友情支持一下,D瓜哥感激不尽,😜
|
|
有些打赏的朋友希望可以加个好友,欢迎关注D 瓜哥的微信公众号,这样就可以通过公众号的回复直接给我发信息。

公众号的微信号是: jikerizhi。因为众所周知的原因,有时图片加载不出来。 如果图片加载不出来可以直接通过搜索微信号来查找我的公众号。 |
598. 区间加法 II
给你一个 m x n 的矩阵 M 和一个操作数组 op。矩阵初始化时所有的单元格都为 0。ops[i] = [ai, bi] 意味着当所有的 0 <= x \< ai 和 0 <= 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 * 104
-
0 <= ops.length <= 104 -
ops[i].length == 2 -
1 <= a~i~ <= m -
1 <= b~i~ <= n
思路分析
以为是矩阵计算模拟,要一步一步模拟来搞。没想到是脑筋急转弯:求矩阵重叠部分面积即可!
-
一刷
1
2
3
4
5
6
7
8
9
10
11
12
/**
* @author D瓜哥 · https://www.diguage.com
* @since 2026-03-30 20:53:49
*/
public int maxCount(int m, int n, int[][] ops) {
for (int[] op : ops) {
m = Integer.min(m, op[0]);
n = Integer.min(n, op[1]);
}
return m * n;
}

