請你實現乙個類 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,...