【二维区域和检索-矩阵不可变】python刷题记录

一夜无解,痛苦,遂拜倒于灵神门下,妄做狂徒也!

. - 力扣(LeetCode)

灵神秒解如下:

python 复制代码
class NumMatrix:
    #二维初始矩阵
    def __init__(self, matrix: List[List[int]]):
       m=len(matrix)
       n=len(matrix[0])
       #扩充一下,防止数组越界
       sum=[[0]*(n+1) for _ in range(m+1)]
       for i in range(m):
           for j in range(n):
             sum[i+1][j+1]=sum[i+1][j]+sum[i][j+1]-sum[i][j]+matrix[i][j]
       self.sum=sum

    #子矩阵计算和
    def sumRegion(self, row1: int, col1: int, row2: int, col2: int) -> int:
       return self.sum[row2+1][col2+1]-self.sum[row2+1][col1]-self.sum[row1][col2+1]+self.sum[row1][col1]
    
相关推荐
计算机毕业编程指导师9 分钟前
【大数据毕设选题推荐】基于Spark的WTA职业网球赛事演变与竞技格局分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·计算机·spark·毕业设计·课程设计·wta网球
垆边人似月.22 分钟前
任务混部(200 分档)
算法
言乐627 分钟前
Python区分广度优先深度优先宽度优先的区别
python·算法·深度优先·广度优先·宽度优先
打工仔折腾 AI38 分钟前
LLaMA 1 到 LLaMA 3 架构演进拆解:从 RoPE、GQA 到词表扩张
人工智能·后端·python·深度学习·langchain·llama
如意猴1 小时前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法
朝朝辞暮i1 小时前
C++ 第 32 课:main()、rclcpp::init()、spin()、shutdown()
开发语言·c++·算法
旋生万物1 小时前
螺旋角分布的功率谱分析:多窗谱 + FDR 校正
开发语言·python
专业程序开发源1 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
wuyk5552 小时前
Python 网络爬虫入门到实战 第 04 章:请求头、UA 伪装、超时、异常处理、基础反爬绕过
开发语言·爬虫·python
Logic1012 小时前
C语言/数据结构排序题解:三个数的最大乘积——排序后比较两种候选情况
c语言·数据结构·数组·排序·时间复杂度·算法题·负数处理