leetcode 5422 子矩形查詢

2021-10-07 04:29:44 字數 2376 閱讀 9225

請你實現乙個類 subrectanglequeries ,它的建構函式的引數是乙個 rows x cols 的矩形(這裡用整數矩陣表示),並支援以下兩種操作:

updatesubrectangle(int row1, int col1, int row2, int col2, int newvalue)

用 newvalue 更新以 (row1,col1) 為左上角且以 (row2,col2) 為右下角的子矩形。

2. getvalue(int row, int col)

返回矩形中座標 (row,col) 的當前值。

示例 1:

輸入:[「subrectanglequeries」,「getvalue」,「updatesubrectangle」,「getvalue」,「getvalue」,「updatesubrectangle」,「getvalue」,「getvalue」]

[[[[1,2,1],[4,3,4],[3,2,1],[1,1,1]]],[0,2],[0,0,3,2,5],[0,2],[3,1],[3,0,3,2,10],[3,1],[0,2]]

輸出:[null,1,null,5,5,null,10,5]

解釋:subrectanglequeries subrectanglequeries = new subrectanglequeries([[1,2,1],[4,3,4],[3,2,1],[1,1,1]]);

// 初始的 (4x3) 矩形如下:

// 1 2 1

// 4 3 4

// 3 2 1

// 1 1 1

subrectanglequeries.getvalue(0, 2); // 返回 1

subrectanglequeries.updatesubrectangle(0, 0, 3, 2, 5);

// 此次更新後矩形變為:

// 5 5 5

// 5 5 5

// 5 5 5

// 5 5 5

subrectanglequeries.getvalue(0, 2); // 返回 5

subrectanglequeries.getvalue(3, 1); // 返回 5

subrectanglequeries.updatesubrectangle(3, 0, 3, 2, 10);

// 此次更新後矩形變為:

// 5 5 5

// 5 5 5

// 5 5 5

// 10 10 10

subrectanglequeries.getvalue(3, 1); // 返回 10

subrectanglequeries.getvalue(0, 2); // 返回 5

示例 2:

輸入:[「subrectanglequeries」,「getvalue」,「updatesubrectangle」,「getvalue」,「getvalue」,「updatesubrectangle」,「getvalue」]

[[[[1,1,1],[2,2,2],[3,3,3]]],[0,0],[0,0,2,2,100],[0,0],[2,2],[1,1,2,2,20],[2,2]]

輸出:[null,1,null,100,100,null,20]

解釋:subrectanglequeries subrectanglequeries = new subrectanglequeries([[1,1,1],[2,2,2],[3,3,3]]);

subrectanglequeries.getvalue(0, 0); // 返回 1

subrectanglequeries.updatesubrectangle(0, 0, 2, 2, 100);

subrectanglequeries.getvalue(0, 0); // 返回 100

subrectanglequeries.getvalue(2, 2); // 返回 100

subrectanglequeries.updatesubrectangle(1, 1, 2, 2, 20);

subrectanglequeries.getvalue(2, 2); // 返回 20

最多有 500 次updatesubrectangle 和 getvalue 操作。

1 <= rows, cols <= 100

rows == rectangle.length

cols == rectangle[i].length

0 <= row1 <= row2 < rows

0 <= col1 <= col2 < cols

1 <= newvalue, rectangle[i][j] <= 10^9

0 <= row < rows

0 <= col < cols

剛看到題很蒙,其實就是簡單的邏輯,

注意寫法

LeetCode 矩形面積

在二維平面上計算出兩個由直線構成的矩形重疊後形成的總面積。每個矩形由其左下頂點和右上頂點座標表示,如圖所示。示例 輸入 3,0,3,4,0,1,9,2 輸出 45 說明 假設矩形面積不會超出 int 的範圍。class solution int wid1 min c e,g a int wid2 m...

LeetCode 構造矩形

作為一位web開發者,懂得怎樣去規劃乙個頁面的尺寸是很重要的。現給定乙個具體的矩形頁面面積,你的任務是設計乙個長度為 l 和寬度為 w 且滿足以下要求的矩形的頁面。要求 1.你設計的矩形頁面必須等於給定的目標面積。2.寬度 w 不應大於長度 l,換言之,要求 l w 3.長度 l 和寬度 w 之間的...

LeetCode 完美矩形

我們有 n 個與座標軸對齊的矩形,其中 n 0,判斷它們是否能精確地覆蓋乙個矩形區域。每個矩形用左下角的點和右上角的點的座標來表示。例如,乙個單位正方形可以表示為 1,1,2,2 左下角的點的座標為 1,1 以及右上角的點的座標為 2,2 示例 1 rectangles 1,1,3,3 3,1,4,...