LeetCode 598 範圍求和 II

2021-10-24 14:44:26 字數 1742 閱讀 9431

從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。在執行給定的一系列操作後,你需要返回矩陣中含有最...