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

网页设计感十足的网站有哪些免费的视频网站

网页设计感十足的网站,有哪些免费的视频网站,帮客户做ppt什么的在哪个网站,三明住房建设局网站文章目录 题目问题反思 题目 题目如下,其实并不难,属于小而美的前缀和技巧中的体型。因为我之前做过这道题,所以重刷也马上就能写。但是对比我写的和之前看别人写的,明显我的代码不够简洁,一个核心的差异在于对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/774588/

相关文章:

  • 建设部网站上标准合同wordpress禁用wp-cron
  • 目前网站软件交网站建设域名计入什么科目
  • 投资网站网站源码做网站的小结
  • 如何 网站收录情况网站可信认证对企业有哪些优势
  • 青岛做网站seowordpress无法重新安装
  • 布吉附近网站建设公司建设网站空间怎么预算
  • 杭州做网站模板英文站 wordpress
  • 建网站知识做自适应网站制作
  • 郑州优化网站公司柳州市建设中心网站
  • 江西建设信息网站网页开发应用软件
  • 什么是门户网站?wordpress wp_options
  • 北京做网站建设比较好的公司龙江人社 pp
  • 网站维护托管要多少钱肥西县建设局网站
  • cpa广告联盟网站建设北京专业的网站ui设计公司
  • 课程网站建设的目标凡科快图app怎么下载
  • 网站留言短信通知 源码海尔网站建设策划书
  • 网站建设万首先金手指12高端网站哪个比较好
  • 网站步骤营销网站做推广
  • 一个小胖子从网站做任务的网站故事做网站销售有前景
  • 品牌网站制作流程站长工具端口查询
  • 织梦建设手机网站网站开发经济可行性
  • 做网站国外网站wordpress api文章列表接口
  • 对网站建设展望装修公司取名高端大气
  • 建网站不想用怎样撤销百度打广告怎么收费
  • 网站的后台怎么做的保护稀有动物网站建设策划书
  • 东营中移动网站建设江苏省建设资格注册中心网站
  • 免费的推广网站云南seo公司
  • 开源程序做网站任务五金制品东莞网站建设
  • 网站开发的步骤实训内容个人网站的制作
  • 高校后勤网站建设要求网站怎么做虚拟连接