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

哪些做任务可以赚钱的网站深圳营销型网站定制

哪些做任务可以赚钱的网站,深圳营销型网站定制,网页版浏览器在线使用,帝国软件怎么做网站文章目录 题目问题反思 题目 题目如下,其实并不难,属于小而美的前缀和技巧中的体型。因为我之前做过这道题,所以重刷也马上就能写。但是对比我写的和之前看别人写的,明显我的代码不够简洁,一个核心的差异在于对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.hengruixuexiao.com/news/39062.html

相关文章:

  • 天津建设项目验收公示网站店铺seo是什么意思
  • 自己做公司网站成本朋友圈广告推广代理
  • 武汉专业网站做网页网络推广的渠道
  • 缔烨建设公司网站广东短视频seo搜索哪家好
  • 薛城做网站win10系统优化
  • 四川企业网站建设最近新闻
  • 前端开发是做网站的吗腾讯广点通广告投放平台
  • 广西网站建设路windows优化大师官方免费
  • php网站空间购买app地推接单平台有哪些
  • 网站在线客服软件seo一般包括哪些内容
  • 广州网站设计哪家公司好app开发软件
  • 自己做电商网站.谷歌网站
  • 做网站加班线下推广的渠道和方法
  • 茂名网站建设方案外包谷歌seo引擎优化
  • 网站建设项目计划书微信广告投放收费标准
  • 做兼职比较正规的网站自助建站网站
  • 网络公司网站图片域名注册网
  • 阿里云网站托管百度推广是怎么做的
  • b2c网站开发目的和意义营销传播
  • 网站的优化怎么做深圳网络营销推广中心
  • 龙岩网站建设设计服务哪些网站可以seo
  • 无线网络福州网站seo
  • 哪些大型网站有做互联网金融搜索关键词的网站
  • 美国亚马逊网站如何做seo优化一般包括
  • 网上开店网站北京最新消息今天
  • 大型企业网站建设如何进行网络营销推广
  • bbb WordPress站点2022年新闻摘抄简短
  • 网站建设策划书会员制营销
  • b2c的电商平台合肥seo搜索优化
  • 网站建设的流程推广方案品牌策划方案模板