其他分享
首页 > 其他分享> > 2022-7-23 剑指offer-二维前缀和

2022-7-23 剑指offer-二维前缀和

作者:互联网

剑指 Offer II 013. 二维子矩阵的和

难度中等

给定一个二维矩阵 matrix以下类型的多个请求:

实现 NumMatrix 类:

 1 class NumMatrix {
 2     int[][] sum;
 3     public NumMatrix(int[][] matrix) {
 4         int m=matrix.length,n=matrix[0].length;
 5         sum=new int[m+1][n+1];
 6         for (int i=1;i<=m;i++){
 7             for (int j=1;j<=n;j++){
 8                 sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+matrix[i-1][j-1];
 9                 //System.out.println(sum[i][j]);
10             }
11         }
12     }
13     
14     public int sumRegion(int row1, int col1, int row2, int col2) {
15         return sum[row2+1][col2+1]-sum[row1][col2+1]-sum[row2+1][col1]+sum[row1][col1];
16     }
17 }
18 
19 /**
20  * Your NumMatrix object will be instantiated and called as such:
21  * NumMatrix obj = new NumMatrix(matrix);
22  * int param_1 = obj.sumRegion(row1,col1,row2,col2);
23  */

思路:二维前缀和,可以扩容一层为了计算方便。

标签:matrix,23,int,col2,offer,矩阵,col1,2022,NumMatrix
来源: https://www.cnblogs.com/benbicao/p/16511883.html