LintCode 1144. 范围加法之二 JavaScript算法

tech2023-07-15  108

描述

给定一个m * n 的全零矩阵M,以及一些更新操作。

操作由2D数组表示,并且每个操作由具有两个正整数a和b的数组表示,对于一个操作[a,b],这意味着M [i] [j] 会在所有0 <= i <a且0 <= j <b 的i,j位置上加1.

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

说明

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

样例

- 样例 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中的最大整数是2M中有42。所以返回4

解析

maxCount = function (m, n, ops) { for (var i = 0; i < ops.length; ++i) { m = Math.min(m, ops[i][0]); n = Math.min(n, ops[i][1]); } return m * n; }

运行结果

最新回复(0)