zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 598 范围求和 II(最小值相乘)

    598. 范围求和 II

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

    操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 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。
    注意:

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

    class Solution {
        //因为每次都是从0开始,找到最小的x坐标和y坐标,相乘即可
        public int maxCount(int m, int n, int[][] ops) {
            int min1 = m, min2 = n;
            for(int[] l: ops){
                min1 = Math.min(min1,l[0]);
                min2 = Math.min(min2,l[1]);
            }
            return min1*min2;
        }
    }
    
  • 相关阅读:
    第01组 Beta版本演示
    2019 SDN上机第7次作业
    第01组 Beta冲刺(4/4)
    系统综合实践第6次作业
    系统综合实践第5次作业
    系统综合实践第4次作业
    系统综合实践第3次作业
    系统综合实践第2次作业
    系统综合实践第1次作业
    软工实践个人总结
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074897.html
Copyright © 2011-2022 走看看