-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSubrectangleQueries
More file actions
30 lines (26 loc) · 1021 Bytes
/
SubrectangleQueries
File metadata and controls
30 lines (26 loc) · 1021 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
* 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)
*
* Updates all values with newValue in the subrectangle whose upper left coordinate is (row1,col1) and bottom right coordinate is (row2,col2).
* 2. getValue(int row, int col)
*
* Returns the current value of the coordinate (row,col) from the rectangle.
*/
public class SubrectangleQueries {
private int[][] _rectangle;
public SubrectangleQueries(int[][] rectangle) {
this._rectangle = rectangle.clone();
}
public void updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) {
for(int i = row1; i <= row2; i++) {
for(int j = col1; j <= col2; j++) {
this._rectangle[i][j] = newValue;
}
}
}
public int getValue(int row, int col) {
return this._rectangle[row][col];
}
}