給定乙個初始元素全部為 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
}return mp.get(max);
}}
超記憶體了,可能是建了比較大的二維陣列導致的。看了一下答案恍然大悟——用最小的ma*最小的mb就是了:
class solution
int ma=integer.max_value;int mb=integer.max_value;
for(int i=0;iif(ops[i][1]}
return ma*mb;
}}
598 範圍求和 II
給定乙個初始元素全部為0,大小為 m n 的矩陣m以及在m上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a和b的陣列表示,含義是將所有符合0 i a以及0 j b的元素m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最大整數的元素個數。示例 1...
598 範圍求和II
給定乙個初始元素全部為 0,大小為 m n 的矩陣 m 以及在 m 上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a 和 b 的陣列表示,含義是將所有符合 0 i a 以及 0 j b 的元素 m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最...
Leetcode 總結 598 範圍求和 II
q 給定乙個初始元素全部為0,大小為 m n 的矩陣m以及在m上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a和b的陣列表示,含義是將所有符合0 i a以及0 j b的元素m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最大整數的元素個數。示例...