【前缀和】LCR_013_二维区域和检索-矩阵不可变


求解代码

java 复制代码
    private int[][] preSum;

    public NumMatrix(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;

        if(m==0||n==0){
            return;
        }
        preSum = new int[m+1][n+1];


        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                preSum[i][j]=preSum[i-1][j]+preSum[i][j-1]+matrix[i-1][j-1]-preSum[i-1][j-1];
            }
        }
    }
    
    public int sumRegion(int row1, int col1, int row2, int col2) {
        return preSum[row2+1][col2+1]-preSum[row2+1][col1]-preSum[row1][col2+1]+preSum[row1][col1];
    }

小贴士

预处理:preSum[i][j] = 上 + 左 + 当前元素 - 重复部分;

查询:区域和 = 整体和 - 左侧和 - 上方和 + 重复和。

相关推荐
米饭不加菜11 小时前
机器人导论-通过逆矩阵公式证明齐次变换矩阵的逆
线性代数·矩阵·机器人
计算机安禾13 小时前
【数据结构与算法】第23篇:树、森林与二叉树的转换
c语言·开发语言·数据结构·c++·线性代数·算法·矩阵
A~MasterYi15 小时前
深入理解 Microscaling (MX) 格式:从浮点基础到共享指数矩阵乘法
算法·矩阵
AI科技星17 小时前
光速螺旋量子几何统一场论:基于四维类时螺旋的物理现象统一推导
开发语言·线性代数·算法·数学建模·平面
luoganttcc17 小时前
eiθ=cosθ+isinθ证明
线性代数·矩阵·概率论·欧拉公式
MediaTea18 小时前
AI 术语通俗词典:矩阵
人工智能·线性代数·矩阵
郝学胜-神的一滴18 小时前
PyTorch核心技巧|view函数深度解析:解锁张量连续性的底层密码
人工智能·pytorch·python·深度学习·线性代数·机器学习
Codigger官方19 小时前
从一维到无限:Phoenix 语言如何用“矩阵思维”重塑 AI 时代的算力逻辑
人工智能·线性代数·矩阵
迷糊小鬼19 小时前
Button matrix(矩阵按钮) (lv_buttonmatrix)
c语言·开发语言·前端·ui·矩阵
你撅嘴真丑19 小时前
和为给定数 与 最匹配的矩阵
c++·算法·矩阵