首页 > 其他分享 >304. 二维区域和检索 - 矩阵不可变 (二维前缀和)

304. 二维区域和检索 - 矩阵不可变 (二维前缀和)

时间:2022-09-27 22:12:45浏览次数:85  
标签:前缀 int 矩阵 304 二维 length matrix

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

根据原始数组martix,维护一个a数组作为二维前缀和,然后通过sunRegion函数的公式可以求出左上坐标(row1,col1)右下坐标(row2,col2)的矩阵中 元素的总和

class NumMatrix {
    private int[][] a;
    public NumMatrix(int[][] matrix) {
        int x = matrix.length;
        int y = matrix[0].length;
        a = new int[matrix.length+1][matrix[0].length+1];
        for(int i=1;i<=x;++i){
            for(int j=1;j<=y;++j){
                a[i][j] = matrix[i-1][j-1] + a[i-1][j]+a[i][j-1]-a[i-1][j-1];
            }
        }
    }
    
    public int sumRegion(int row1, int col1, int row2, int col2) {
        return a[row2+1][col2+1] - a[row2+1][col1]-a[row1][col2+1] + a[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);
 */

 

标签:前缀,int,矩阵,304,二维,length,matrix
From: https://www.cnblogs.com/h404nofound/p/16736198.html

相关文章

  • CF494B Obsessive String KMP+前缀和优化DP
    给一份看起来字数比较少的题解?题意给一个字符串\(s\),和一个字符串\(t\)。在\(s\)中取出任意多个不重叠的子串(可以有子串没有被取出),使得每个子串都包含\(t\),求方案......
  • leetcode 208. Implement Trie (Prefix Tree) 实现 Trie (前缀树) (中等)
    一、题目大意Trie(发音类似"try")或者说前缀树是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。......
  • 最长公共前缀
    描述给你一个大小为n 的字符串数组strs,其中包含n个字符串,编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。 数据范围: 0\len\le50000≤n......
  • 二维数组和单通道Mat相关问题
    我们分别将二维数组第一行的首地址和单通道Mat第一行的首地址赋给指针:1inta[2][2]=2{3{1,2},4{3,4}5};67int*p=a[0];8cout......
  • 2022-2023-1 20221304 《计算机基础与程序设计》第四周学习总结
    2022-2023-120221304《计算机基础与程序设计》第四周学习总结作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/......
  • Trie树(字典树,前缀树)
    Trie中文名又叫做字典树,前缀树等,因为其结构独有的特点,经常被用来统计,排序,和保存大量的字符串,经常见于搜索提示,输入法文字关联等,当输入一个值,可以自动搜索出可能的选择。当......
  • 字典树-2416. 字符串的前缀分数和
    问题描述给你一个长度为n的数组words,该数组由非空字符串组成。定义字符串word的分数等于以word作为前缀的words[i]的数目。例如,如果words=["a","ab......
  • 洛谷 P1114 “非常男女”计划 (前缀和)
    https://www.luogu.com.cn/problem/P1114题目大意:给定一排数字,让我们求出最大的区间内1和0的个数相等时的区间长度。输入9010001100输出6输入10011......
  • 在UniApp的H5项目中,生成二维码和扫描二维码的操作处理
    在我们基于UniApp的H5项目中,需要生成一些二维码进行展示,另外也需要让用户可以扫码进行一定的快捷操作,本篇随笔介绍一下二维码的生成处理和基于H5的扫码进行操作。二维码的......
  • 二维码
    java生成二维码首先需要引入依赖<!--引入生成二维码的依赖--><!--https://mvnrepository.com/artifact/com.google.zxing/core--><dependency><groupId>com.g......