From 4d663d7b570c87b6b10f328fd97f066faab8b71c Mon Sep 17 00:00:00 2001 From: Deven <63876261+devenperez@users.noreply.github.com> Date: Mon, 19 Sep 2022 14:04:24 -0400 Subject: [PATCH] Create README - LeetHub --- 1476-subrectangle-queries/README.md | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 1476-subrectangle-queries/README.md diff --git a/1476-subrectangle-queries/README.md b/1476-subrectangle-queries/README.md new file mode 100644 index 0000000..2869a77 --- /dev/null +++ b/1476-subrectangle-queries/README.md @@ -0,0 +1,80 @@ +
Implement the class SubrectangleQueries which receives a rows x cols rectangle as a matrix of integers in the constructor and supports two methods:
1. updateSubrectangle(int row1, int col1, int row2, int col2, int newValue)
newValue in the subrectangle whose upper left coordinate is (row1,col1) and bottom right coordinate is (row2,col2).2. getValue(int row, int col)
(row,col) from the rectangle.+
Example 1:
+ +Input +["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]] +Output +[null,1,null,5,5,null,10,5] +Explanation +SubrectangleQueries subrectangleQueries = new SubrectangleQueries([[1,2,1],[4,3,4],[3,2,1],[1,1,1]]); +// The initial rectangle (4x3) looks like: +// 1 2 1 +// 4 3 4 +// 3 2 1 +// 1 1 1 +subrectangleQueries.getValue(0, 2); // return 1 +subrectangleQueries.updateSubrectangle(0, 0, 3, 2, 5); +// After this update the rectangle looks like: +// 5 5 5 +// 5 5 5 +// 5 5 5 +// 5 5 5 +subrectangleQueries.getValue(0, 2); // return 5 +subrectangleQueries.getValue(3, 1); // return 5 +subrectangleQueries.updateSubrectangle(3, 0, 3, 2, 10); +// After this update the rectangle looks like: +// 5 5 5 +// 5 5 5 +// 5 5 5 +// 10 10 10 +subrectangleQueries.getValue(3, 1); // return 10 +subrectangleQueries.getValue(0, 2); // return 5 ++ +
Example 2:
+ +Input +["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]] +Output +[null,1,null,100,100,null,20] +Explanation +SubrectangleQueries subrectangleQueries = new SubrectangleQueries([[1,1,1],[2,2,2],[3,3,3]]); +subrectangleQueries.getValue(0, 0); // return 1 +subrectangleQueries.updateSubrectangle(0, 0, 2, 2, 100); +subrectangleQueries.getValue(0, 0); // return 100 +subrectangleQueries.getValue(2, 2); // return 100 +subrectangleQueries.updateSubrectangle(1, 1, 2, 2, 20); +subrectangleQueries.getValue(2, 2); // return 20 ++ +
+
Constraints:
+ +500 operations considering both methods: updateSubrectangle and getValue.1 <= rows, cols <= 100rows == rectangle.lengthcols == rectangle[i].length0 <= row1 <= row2 < rows0 <= col1 <= col2 < cols1 <= newValue, rectangle[i][j] <= 10^90 <= row < rows0 <= col < cols