思路分析

按题目要求实现即可。注意二维数组的深拷贝操作。

代码实现

  1. class SubrectangleQueries {
  2. private int[][] value;
  3. public SubrectangleQueries(int[][] rectangle) {
  4. value = new int[rectangle.length][];
  5. for (int i = 0; i < rectangle.length; ++i) {
  6. value[i] = rectangle[i].clone();
  7. }
  8. }
  9. public void updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) {
  10. int i, j;
  11. for (i = row1; i <= row2; ++i) {
  12. for (j = col1; j <= col2; ++j) {
  13. value[i][j] = newValue;
  14. }
  15. }
  16. }
  17. public int getValue(int row, int col) {
  18. return value[row][col];
  19. }
  20. }
  21. /**
  22. * Your SubrectangleQueries object will be instantiated and called as such:
  23. * SubrectangleQueries obj = new SubrectangleQueries(rectangle);
  24. * obj.updateSubrectangle(row1,col1,row2,col2,newValue);
  25. * int param_2 = obj.getValue(row,col);
  26. */