598. 范围求和 II【我亦无他唯手熟尔】

简介: 598. 范围求和 II【我亦无他唯手熟尔】

598. 范围求和 II

难度 简单

给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。
操作用二维数组表示,其中的每个操作用一个含有两个正整数 ab 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1
在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。

示例 1:

输入: 
m = 3, n = 3
operations = [[2,2],[3,3]]
输出: 4
解释: 
初始状态, M = 
[[0, 0, 0],
 [0, 0, 0],
 [0, 0, 0]]
执行完操作 [2,2] 后, M = 
[[1, 1, 0],
 [1, 1, 0],
 [0, 0, 0]]
执行完操作 [3,3] 后, M = 
[[2, 2, 1],
 [2, 2, 1],
 [1, 1, 1]]
M 中最大的整数是 2, 而且 M 中有4个值为2的元素。因此返回 4。

注意:

  1. m 和 n 的范围是 [1,40000]。
  2. a 的范围是 [1,m],b 的范围是 [1,n]。
  3. 操作数目不超过 10000。

题解

因为矩阵初始都是0
每次都加1
所以把操作的交集的个数算出来即可
初始化min0=m
初始化min1=n
以访不进行操作
最大的个数就是矩阵的大小

class Solution {
    public int maxCount(int m, int n, int[][] ops) {
        int min0=m;
        int min1=n;
        for(int i=0;i<ops.length;i++){            
            if(i==0){
                min0=ops[0][0];
                min1=ops[0][1];
            }else{
                if(ops[i][0]<min0){
                    min0=ops[i][0];
                }
                if(ops[i][1]<min1){
                    min1=ops[i][1];
                }
            }
        }
        return min0*min1;
    }
}





相关文章
|
7月前
多重背包问题
多重背包问题
61 0
|
7月前
|
算法 JavaScript
class074 背包dp-分组背包、完全背包【算法】
class074 背包dp-分组背包、完全背包【算法】
53 0
|
6月前
每日练习之数学——砝码和天平
每日练习之数学——砝码和天平
31 3
|
人工智能 算法
算法提高:组合数学| 容斥原理常见应用
容斥原理常见的问题如下。 (1) 篮球、羽毛球、网球三种运动,至少会一种的有22人,会篮球的有15人,会羽毛球的有17人,会网球的有12人,既会篮球又会羽毛球的有11人,既会羽毛球又会网球的有7人,既会篮球又会网球的有9人,那么三种运动都会的有多少人? (2) 《西游记》《三国演义》《红楼梦》三大名著,至少读过其中一本的有20人,读过《西游记》的有10人,读过《三国演义》的有12人,读过《红楼梦》的有15人,读过《西游记》《三国演义》的有8人,读过《三国演义》《红楼梦》的有9人,读过《西游记》《红楼梦》的有7人。问三本书全都读过的有多少人?
172 0
算法提高:组合数学| 容斥原理常见应用
|
7月前
|
算法 测试技术 C#
【数学归纳法 反证法】菲蜀定理
【数学归纳法 反证法】菲蜀定理
3 背包问题及其衍生
3 背包问题及其衍生
74 0
|
算法 C语言 C++
【动态规划】多重背包问题,分组背包问题
与完全背包问题不同的是,每种东西都是有限件,前两种状态就不再过多赘述
151 4
算法练习Day44|70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
算法练习Day44|70. 爬楼梯 (进阶)● 322. 零钱兑换 ● 279.完全平方数
动态规划——多重背包、分组背包
动态规划——多重背包、分组背包
65 0
下一篇
DataWorks