本文主要是介绍LintCode 1144. 范围加法之二 JavaScript算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
给定一个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中的最大整数是2,M中有4个2。所以返回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;
}
运行结果
这篇关于LintCode 1144. 范围加法之二 JavaScript算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!