【前缀和】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] = 上 + 左 + 当前元素 - 重复部分;

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

相关推荐
所谓伊人,在水一方3331 小时前
【机器学习精通】第1章 | 机器学习数学基础:从线性代数到概率统计
人工智能·python·线性代数·机器学习·信息可视化
郑同学zxc1 小时前
机器学习17-tensorflow2 线性代数
线性代数·机器学习·tensorflow
AI科技星18 小时前
基于双隐含量(角速度 +质量 )的全量变形公式体系-发现新公式
开发语言·人工智能·线性代数·算法·矩阵·数据挖掘
Sakinol#1 天前
Leetcode Hot 100 —— 矩阵
leetcode·矩阵
别或许1 天前
03线性代数之向量组(知识总结)
线性代数·算法·机器学习
美好的事情能不能发生在我身上1 天前
Leetcode热题100中的:矩阵专题
算法·leetcode·矩阵
Cathy Bryant2 天前
线性代数直觉(六):向量通过矩阵
人工智能·笔记·线性代数·机器学习·矩阵
IronMurphy2 天前
【算法十九】33. 搜索旋转排序数组 74. 搜索二维矩阵
线性代数·算法·矩阵
Nontee2 天前
Leetcode Top100答案和解释 -- Python版本(矩阵)
python·leetcode·矩阵
再难也得平3 天前
力扣54. 螺旋矩阵(Java解法)
算法·leetcode·矩阵