從0開始刷力扣,第十六天。
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。
1.先根據m,n確定二維陣列2.獲取二維陣列ops的第乙個元素
3.由ops使陣列裡既定元素加一則最後arry[0][0]最大
4.找到更新後與arry[0][0]相等的元素
foreach的語句格式:
for(元素型別t 元素變數x : 遍歷物件obj)
foreach語句是for語句特殊情況下的增強版本,簡化了程式設計,提高了**的可讀性和安全性(不用怕陣列越界)。
相對老的for語句來說是個很好的補充。提倡能用foreach的地方就不要再用for了。
在用到對集合或者陣列索引的情況下,foreach顯得力不從心,這個時候是用for語句的時候了。foreach一般結合泛型
使用
class
solution}}
//count計次
int count=0;
//arry[0][0]最大
for(
int i=
0;i}return count;}}
//記憶體超限//
腦筋急轉彎:每次加一都是從arry[0][0]開始且將所有符合 0 <= i < a 以及 0 <= j < b 的元素 m[i][j] 的值都增加 1,那麼只有找到最小的a,b相乘即可得到最大的值出現的次數
public
class
solution
return m * n;
}}
有人問我刷題有什麼訣竅?
答案只有乙個–
「生命只是如此前行,不必說給別人聽,只在心裡最幽微的地方,時時點著一盞燈,燈上寫兩行字: 今日踽踽獨行, 他日化蝶飛去。」— ——林清玄 《你心柔軟,卻有力量》
LeetCode 598 範圍求和2
給定乙個初始元素全部為 0,大小為 m n 的矩陣 m 以及在 m 上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a 和 b 的陣列表示,含義是將所有符合 0 i a 以及 0 j b 的元素 m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最...
LeetCode 598 範圍求和 II
難度 簡單 給定乙個初始元素全部為 0,大小為 m n 的矩陣 m 以及在 m 上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a 和 b 的陣列表示,含義是將所有符合 0 i a 以及 0 j b 的元素 m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回...
Leetcode 598 範圍求和 II
給定乙個初始元素全部為 0,大小為 m n 的矩陣 m 以及在 m 上的一系列更新操作。操作用二維陣列表示,其中的每個操作用乙個含有兩個正整數 a 和 b 的陣列表示,含義是將所有符合 0 i a 以及 0 j b 的元素 m i j 的值都增加 1。在執行給定的一系列操作後,你需要返回矩陣中含有最...