304 - Range Sum Query 2D - Immutable
    Written on November 12, 2015
    
    
    
    
    
    Tweet
  Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by (row1, col1), (row2, col2).
class NumMatrix:
    def __init__(self, matrix: List[List[int]]):
        self.matrix = matrix
        for row in self.matrix:
            for i in range(1, len(row)):
                row[i] += row[i - 1]
    def sumRegion(self, row1: int, col1: int, row2: int, col2: int) -> int:
        ret = 0
        for i in range(row1, row2 + 1):
            ret += self.matrix[i][col2] - (self.matrix[i][col1 - 1] if col1 > 0 else 0)
        return ret