LeetCode 304. 二维区域和检索 - 矩阵不可变

解题思路

套模板

相关代码

复制代码
class NumMatrix {
    int a[][] = new int[210][210];
    int s[][] = new int[210][210];
    int m,n;
    public NumMatrix(int[][] matrix) {
        for(int i=0;i<matrix.length;i++){
            for(int j=0;j<matrix[0].length;j++){
                a[i+1][j+1] = matrix[i][j];
            }
        }
        //m表示行,n表示列
        m = matrix.length;
        n = matrix[0].length;

        for(int i=1;i<=matrix.length;i++)
            for(int j=1;j<=matrix[0].length;j++)
                s[i][j] = s[i][j-1]+s[i-1][j]-s[i-1][j-1]+a[i][j];
    }
    
    public int sumRegion(int row1, int col1, int row2, int col2) {
return s[row2+1][col2+1]-s[row2+1][col1]-s[row1][col2+1]+s[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);
 */
相关推荐
阿贵---7 分钟前
C++代码规范化工具
开发语言·c++·算法
暮冬-  Gentle°15 分钟前
自定义内存检测工具
开发语言·c++·算法
ccLianLian26 分钟前
数论·欧拉函数
数据结构·算法
2501_9454248033 分钟前
C++编译期矩阵运算
开发语言·c++·算法
2301_8154829339 分钟前
C++中的类型标签分发
开发语言·c++·算法
xushichao198944 分钟前
代码生成优化技术
开发语言·c++·算法
炽烈小老头1 小时前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
2401_873204651 小时前
模板编译期循环展开
开发语言·c++·算法
木心月转码ing1 小时前
Hot100-Day51-TT70爬楼梯
算法
NAGNIP1 小时前
一文搞懂经典的优化算法都有哪些?
算法