当前位置: 首页 > news >正文

上海大型网站制作公wordpress字体颜色

上海大型网站制作公,wordpress字体颜色,google play下载官方版,广州制片公司网站文章目录 题目问题反思 题目 题目如下,其实并不难,属于小而美的前缀和技巧中的体型。因为我之前做过这道题,所以重刷也马上就能写。但是对比我写的和之前看别人写的,明显我的代码不够简洁,一个核心的差异在于对DP数组…

文章目录

  • 题目
  • 问题
  • 反思

题目

题目如下,其实并不难,属于小而美的前缀和技巧中的体型。因为我之前做过这道题,所以重刷也马上就能写。但是对比我写的和之前看别人写的,明显我的代码不够简洁,一个核心的差异在于对DP数组的定义上。

在这里插入图片描述

问题

先看下我的代码,我对DP数组的定义是:存储以(0,0)为起点,到(i, j)的数组之和。提交代码显示超出时间限制。

两个问题:

  1. 边界条件处理贼麻烦,我自己写的时候也注意到了;(但这不是导致超时的原因)
  2. 处理超时,因为我每次要算一遍DP。
class NumMatrix:def __init__(self, matrix: List[List[int]]):self.matrix = matrixdef sumFromLeftCorner(self):R, C = len(self.matrix), len(self.matrix[0])dp = [[0 for j in range(C)] for i in range(R)]for i in range(R):for j in range(C):if i == 0 and j == 0:dp[i][j] = self.matrix[i][j]elif i == 0:dp[i][j] = dp[i][j-1] + self.matrix[i][j]elif j == 0:dp[i][j] = dp[i-1][j] + self.matrix[i][j]else:dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1] + self.matrix[i][j]return dpdef sumRegion(self, row1: int, col1: int, row2: int, col2: int) -> int:dp = self.sumFromLeftCorner()if row1 == 0 and col1 == 0:return dp[row2][col2]elif row1 == 0:return dp[row2][col2] - dp[row2][col1 - 1]elif col1 == 0:return dp[row2][col2] - dp[row1 - 1][col2]else:return dp[row2][col2] - dp[row1-1][col2] - dp[row2][col1-1] + dp[row1-1][col1-1]

反思

对于第一个问题:

  1. 边界条件处理贼麻烦,我自己写的时候也注意到了;(但这不是导致超时的原因)

只要改一下DP数组的定义即可:存储以(0,0)为起点,到(i-1, j-1)的数组之和。因此DP数组的长宽都要加1;

对于第二个问题:

  1. 处理超时,因为我每次要算一遍DP。

将DP数组计算的过程放在__init__下面,总是只计算一次,然后重复调用其结果即可/

修改以后的代码如下,明显简洁很多!

class NumMatrix:def __init__(self, matrix: List[List[int]]):self.matrix = matrixself.dp = self.sumFromLeftCorner()def sumFromLeftCorner(self):R, C = len(self.matrix), len(self.matrix[0])dp = [[0 for j in range(C+1)] for i in range(R+1)]for i in range(1, R+1):for j in range(1, C+1):dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1] + self.matrix[i-1][j-1]return dpdef sumRegion(self, row1: int, col1: int, row2: int, col2: int) -> int:return self.dp[row2+1][col2+1] - self.dp[row1][col2+1] - self.dp[row2+1][col1] + self.dp[row1][col1]
http://www.yayakq.cn/news/409333/

相关文章:

  • 潜江做网站的做网站主机电脑
  • 媒体网站的品牌建设如何修改WordPress账号
  • 国内装饰行业网站开发有用模板网在线制作官网免费
  • 学校校园网站建设婚介网站建设
  • 济南网站设计建设企业银行电脑版怎么下载
  • 高端 网站定制漯河住房和城乡建设局网站
  • 云南网站建设公司哪家好竞价被恶意点击怎么办
  • 家装效果图南昌seo推广方式
  • word后的网站引用怎么做技术支持:上海网站建设
  • 个人网站 怎么备案网站排名云优化工具
  • 中国建设银行的官方网站汽车之家网页版入口
  • dede wap网站企业营销网站建设费用
  • 大型网站建设济南兴田德润o团队怎么样郑州最近新闻事件
  • 北京单位网站建设培训工程建设合同范本
  • 永久免费的建站系统有哪些做网站需要注意的点
  • 上海营销型网站建设费用如何在电影网站中做淘客
  • 郑州网站优化推广宁波优化网页基本流程
  • 网站建设需要什么硬件和软件有哪些方面东莞常平中转场
  • 官方网站制作公司综合服务平台一站式服务平台网站开发
  • 制作网站代码吗网站建设经验交流
  • 柳州中小企业网站建设余姚建设局网站
  • 焊接加工东莞网站建设网站外链建设教程
  • 网站风格包括哪些上海企业服务云app
  • wordpress多站点备份网站建设座谈会
  • 电商网站建设济南建网站注册证查询网站
  • 高效网站建设咨询建设网站需要做哪些工作内容
  • php网站开发实例教程源码ui设计公司网站
  • 昆明睿腾科技网站建设淮南帮
  • 装修公司网站源码php室内设计周报
  • 个人网页制作与网站建设安阳县陈佳