网站优化seo方案电子商务网站的目的
web/
2025/9/30 20:13:58/
文章来源:
网站优化seo方案,电子商务网站的目的,vps绑定多个网站,厦门满山红网站建设给定一个二维矩阵#xff0c;计算其子矩形范围内元素的总和#xff0c;该子矩阵的左上角为 (row1, col1) #xff0c;右下角为 (row2, col2) 。
上图子矩阵左上角 (row1, col1) (2, 1) #xff0c;右下角(row2, col2) (4, 3)#xff0c;该子矩形内元素的总和为 8。
示…给定一个二维矩阵计算其子矩形范围内元素的总和该子矩阵的左上角为 (row1, col1) 右下角为 (row2, col2) 。
上图子矩阵左上角 (row1, col1) (2, 1) 右下角(row2, col2) (4, 3)该子矩形内元素的总和为 8。
示例
给定 matrix [ [3, 0, 1, 4, 2], [5, 6, 3, 2, 1], [1, 2, 0, 1, 5], [4, 1, 0, 1, 7], [1, 0, 3, 0, 5] ]
sumRegion(2, 1, 4, 3) - 8 sumRegion(1, 1, 2, 2) - 11 sumRegion(1, 2, 2, 4) - 12
解题思路
维护一个前缀和数组公式 temp[i][j]matrix[i][j]temp[i-1][j]temp[i][j-1]-temp[i-1][j-1]; 根据前缀和计算区域和公式sumtemp[row2][col2]-temp[row2][col1-1]-temp[row1-1][col2]temp[row1][col1]
代码 class NumMatrix {int[][] temp;public NumMatrix(int[][] matrix) {if(matrix.length0) return;tempnew int[matrix.length][matrix[0].length];temp[0][0]matrix[0][0]; //计算前缀和数组for (int i 1; i matrix.length; i) {temp[i][0]temp[i-1][0]matrix[i][0];}for (int i 1; i matrix[0].length; i) {temp[0][i]temp[0][i-1]matrix[0][i];}for (int i 1; i matrix.length; i)for (int j 1; j matrix[0].length; j){
//前缀和公式temp[i][j]matrix[i][j]temp[i-1][j]temp[i][j-1]-temp[i-1][j-1];}}public int sumRegion(int row1, int col1, int row2, int col2) {//区域矩阵和temp[row2][col2]-temp[row2][col1-1]-temp[row1-1][col2]temp[row1][col1]int leftUpRowrow1-1,leftUpcolcol1-1,sumtemp[row2][col2];if(leftUpcol0leftUpRow0)sumtemp[leftUpRow][leftUpcol];if(leftUpcol0) sum-temp[row2][leftUpcol];if(leftUpRow0) sum-temp[leftUpRow][col2];return sum;}}/*** Your NumMatrix object will be instantiated and called as such:* NumMatrix obj new NumMatrix(matrix);* int param_1 obj.sumRegion(row1,col1,row2,col2);*/
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84637.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!