0308. Range Sum Query 2D - Mutable
https://leetcode.com/problems/range-sum-query-2d-mutable
Description
Given a 2D matrix matrix, handle multiple queries of the following types:
Update the value of a cell in
matrix.Calculate the sum of the elements of
matrixinside the rectangle defined by its upper left corner(row1, col1)and lower right corner(row2, col2).
Implement the NumMatrix class:
NumMatrix(int[][] matrix)Initializes the object with the integer matrixmatrix.void update(int row, int col, int val)Updates the value ofmatrix[row][col]to beval.int sumRegion(int row1, int col1, int row2, int col2)Returns the sum of the elements ofmatrixinside the rectangle defined by its upper left corner(row1, col1)and lower right corner(row2, col2).
Example 1:

Constraints:
m == matrix.lengthn == matrix[i].length1 <= m, n <= 200-105 <= matrix[i][j] <= 1050 <= row < m0 <= col < n-105 <= val <= 1050 <= row1 <= row2 < m0 <= col1 <= col2 < nAt most
104calls will be made tosumRegionandupdate.
ac1: plain pre-sum
Notice:
matrix cannot use
clone(), the array is Object, so it's shallow copybe careful handling first row, out of boundary exception.
ac2: Binary Indexed Tree

Last updated
Was this helpful?