LeetCode 598. 范围求和 II
https://leetcode-cn.com/problems/range-addition-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。
解題報告:
簡單的思維題,通過統計規律發現只需要看最小的(x,y)所包含的那一組規律就可以了。且x和y是可以分別來看的。
AC代碼:
class Solution { public:int maxCount(int m, int n, vector<vector<int>>& ops) {int a = m, b = n;for(int i = 0; i<ops.size(); i++) {a = min(a, ops[i][0]);b = min(b, ops[i][1]);}return a * b;} };總結
以上是生活随笔為你收集整理的LeetCode 598. 范围求和 II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首款华为鸿蒙OS燃油车 北汽魔方预售:1
- 下一篇: 高通modem启动过程_苹果首次承认正自