class NumMatrix {
private:
vector<vector<int>> m;
public:
NumMatrix(vector<vector<int>> &matrix) {
m=matrix;
for(int i=0;i<m.size();i++)
{
for(int j=1;j<m[0].size();j++)
{
m[i][j]+=m[i][j-1];
}
}
}
int sumRegion(int row1, int col1, int row2, int col2) {
int result=0;
for(int i=row1;i<=row2;i++)
{
if(col1==0)
{
result+=m[i][col2];
}
else
{
result+=(m[i][col2]-m[i][col1-1]);
}
}
return result;
}
};
// Your NumMatrix object will be instantiated and called as such:
// NumMatrix numMatrix(matrix);
// numMatrix.sumRegion(0, 1, 2, 3);
// numMatrix.sumRegion(1, 2, 3, 4);