0
点赞
收藏
分享

微信扫一扫

LeetCode 304. Range Sum Query 2D - Immutable

​​题目​​

二维的,那就二维前缀和数组

class NumMatrix {
public:
int prefix[1005][1005];
NumMatrix(vector<vector<int>>& matrix) {

memset(prefix,0,sizeof(prefix));
for(int i=0;i<matrix.size();i++)
{
for(int j=0;j<matrix[i].size();j++)
{
prefix[i+1][j+1]=prefix[i][j+1]+prefix[i+1][j]-prefix[i][j]+matrix[i][j];
}
}

}

int sumRegion(int row1, int col1, int row2, int col2) {

return prefix[row2+1][col2+1]-prefix[row1][col2+1]-prefix[row2+1][col1]+prefix[row1][col1];

}
};

/**
* Your NumMatrix object will be instantiated and called as such:
* NumMatrix* obj = new NumMatrix(matrix);
* int param_1 = obj->sumRegion(row1,col1,row2,col2);
*/



举报

相关推荐

0 条评论