【前缀和】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];
    }

小贴士

预处理:preSumij = 上 + 左 + 当前元素 - 重复部分;

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

相关推荐
零依赖极客6 小时前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm
wzdark8 小时前
基于矩阵的动态规划路径问题性能优化4
线性代数·矩阵·动态规划
Raas1001 天前
MAI Gateway(魔芋企业级AI网关)功能全解:AI网关有哪些功能?一文看懂AI网关能力矩阵
大数据·人工智能·矩阵·gateway·mai gateway·企业级产品
船厂电气自动化ai大模型2 天前
AI大模型与数学 第75课 基、维度、向量空间坐标
数据结构·线性代数·算法·机器学习·推荐算法
hansang_IR3 天前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
BSD_HY3 天前
薄膜开关矩阵扫描在低功耗MCU上的GPIO扩展实现
单片机·嵌入式硬件·矩阵·人机交互·薄膜开关·源头工厂
Nil2083 天前
leetcode 74搜索二维矩阵
算法·leetcode·矩阵
小飞象—木兮3 天前
BCG波士顿矩阵深度解析及应用指南:核心逻辑、落地路径、常见误区、案例
大数据·人工智能·矩阵·数据分析·用户运营
浪里镖客3 天前
位姿转换矩阵中旋转与平移转换的问题--解决方案
线性代数·矩阵
hansang_IR4 天前
【题解】P5364 [SNOI2017] 礼物
c++·线性代数·算法