题目描述

给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (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

思路

详见链接

代码

class NumMatrix:def __init__(self,matrix):m = len(matrix)n = len(matrix[0])self.dp = [[0]*(n+1) for _ in range(m+1)]for i in range(1,m+1):for j in range(1,n+1):self.dp[i][j] = self.dp[i-1][j] + self.dp[i][j-1] + matrix[i-1][j-1] - self.dp[i-1][j-1]def sumRegion(self,row1,col1,row2,col2):return self.dp[row2+1][col2+1] - self.dp[row1][col2+1] - self.dp[row2+1][col1] + self.dp[row1][col1]matrix = NumMatrix([[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]
])
test = matrix.sumRegion(2, 1, 4, 3)
print(test)

效果

LeetCode 304. 二维区域和检索 - 矩阵不可变(动态规划)相关推荐

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

    1. 题目 2. 解题 类似题目:LeetCode 308. 二维区域和检索 - 可变(前缀和) dp[i][j]数组表示 从左上角到i,j位置的所有和 sum[i+1][j+1]=sum[i+1][ ...

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

    给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) . 上图子矩阵左上角 (row1, col1) = (2, 1) , ...

  3. 力扣刷题笔记--304 二维区域和检索 - 矩阵不可变 前缀和

    304 二维区域和检索 - 矩阵不可变 作者:AC_OIer 链接:https://leetcode-cn.com/problems/range-sum-query-2d-immutable/solu ...

  4. [力扣] 304. 二维区域和检索 - 矩阵不可变

    [力扣] 304. 二维区域和检索 - 矩阵不可变 给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2). 动态规划 求子 ...

  5. 304. 二维区域和检索 - 矩阵不可变

    链接:304. 二维区域和检索 - 矩阵不可变 题解:https://leetcode-cn.com/problems/range-sum-query-2d-immutable/solution/er ...

  6. 【二维前缀和】304. 二维区域和检索 - 矩阵不可变

    目录 题目 前缀和解法(二维) 二维vector 定义 这道题是「303. 区域和检索 - 数组不可变」的进阶,第 303 题是在一维数组中做区域和检索,这道题是在二维矩阵中做区域和检索. 题目 30 ...

  7. leetcode 304. Range Sum Query 2D - Immutable |304. 二维区域和检索 - 矩阵不可变(二维前缀和问题)

    题目 https://leetcode.com/problems/range-sum-query-2d-immutable/ 题解 本题是 medium 难度,二维前缀和问题.相似题目有: Easy: ...

  8. leetcode304. 二维区域和检索 - 矩阵不可变

    给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2). 上图子矩阵左上角 (row1, col1) = (2, 1) ,右 ...

  9. leetcode算法题--二维区域和检索 - 矩阵不可变

    原题链接:https://leetcode-cn.com/problems/range-sum-query-2d-immutable/ 1.暴力(超时) class NumMatrix {public ...

最新文章

  1. kubernetes关键特性和概述
  2. poj - 1651 Multiplication Puzzle
  3. 小程序爆红 专家:对简单APP是巨大打击
  4. D3js(一): d3js和DOM
  5. 《音乐达人秀:Adobe Audition实战200例》——实例11 录制任意音量音乐
  6. python读取mysql中表内数据转换成json_使用python将mySql查询结果转换为json
  7. 如何让.Net线程支持超时后并自动销毁!
  8. Lucene(.net)学习
  9. VSTT Rosario CTP
  10. python题目59:员工考勤记录
  11. 基于lora的智慧路灯通信解决方案
  12. GAMES101-现代计算机图形学入门-闫令琪 - lecture7 着色(Shading) - 课后笔记
  13. 让人醍醐灌顶的线性代数视频,深刻理解线性代数
  14. 硬件保护和软件保护_什么是硬件保护?
  15. 打包签名用 文件配置遇到的坑(Keystore was tampered with, or password was incorrect)
  16. 配置VScode上基于WSL的lc3汇编语言环境
  17. 风影ASP.NET基础教学 4 验证控件
  18. php在线客服:TP6+workerman实现
  19. 打造无懈可击的Web设计——流动布局和弹性布局
  20. selenium java框架_自动化测试框架selenium+java+TestNG——配置篇

热门文章

  1. 极酷WIFI深度剖析免费WIFI
  2. 计算机在线应用分为,在线计算器的分类和使用方法
  3. oracle lpad 字符集,oracle Lpad()函数和Rpad()函数的用法
  4. 翁恺java答案第五周_[JAVA]翁恺老师零基础学java语言第五周素数例题中continue的困惑...
  5. 瑞星对Windows7捆绑杀毒软件等消息的回应
  6. sql server 2000 更改账户默认数据库
  7. php图片合并png保存图片大小,php缩放处理png和jpg图片
  8. 社保基金入市规模或达3000亿元
  9. 无意中发现的MSDN软件下载网站
  10. 使用GDAL库中的RPC校正问题