1476. 子矩形查询
难度中等23收藏分享切换为英文接收动态反馈
请你实现一个类 SubrectangleQueries
,它的构造函数的参数是一个 rows x cols
的矩形(这里用整数矩阵表示),并支持以下两种操作:
1.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:
1 | 输入: |
示例 2:
1 | 输入: |
提示:
最多有
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
维护范围和值
不直接在原数组上修改,而是记录修改的范围,查询时直接查询当前值是否在修改的范围中,如果在就返回,否则返回原来数组内的内容
1 | class SubrectangleQueries { |