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

学习网站建设的网站新手学百度竞价要多久

学习网站建设的网站,新手学百度竞价要多久,北京官网建设多少钱,wordpress实用功能动态规划中的矩阵问题是非常经典的应用场景,比如最小路径和问题。这类问题很自然地可以想到使用二维 dp 数组来求解。 我们定义: dp[i][j] 表示从矩阵的第 i行第 j列到右下角的最小路径和。 基本解法 求解过程从右下角开始,向左上角遍历&am…

动态规划中的矩阵问题是非常经典的应用场景,比如最小路径和问题。这类问题很自然地可以想到使用二维 dp 数组来求解。
我们定义:
dp[i][j]
表示从矩阵的第 i行第 j列到右下角的最小路径和。

基本解法

求解过程从右下角开始,向左上角遍历,每次选择当前位置右方和下方的最小路径和来更新当前格子的状态。
状态转移方程为:
dp[i][j] = grid[i][j] + min(dp[i+1][j], dp[i][j+1])

在这里插入图片描述在这里插入图片描述

这种方法思路清晰,容易实现。然而,空间复杂度O(NM),有优化的空间。


优化空间复杂度

通过观察可以发现,每次计算某个位置时,只需要用到当前位置的右方下方的状态值。因此,我们可以用一个 一维数组 dp 来代替二维数组,从而将空间复杂度优化为 O(N)

优化方法

我们仍然从矩阵右下角开始倒序遍历。假设当前 dp 数组表示最后一行的状态,状态转移方程如下:

  1. 遍历最后一行
    因为最后一行没有下方格子,所以每个位置的状态只需要考虑右方状态:
    dp[j] = grid[i][j] + dp[j+1]

  2. 遍历最后一列
    因为最后一列没有右方格子,所以每个位置的状态只需要考虑下方状态(即当前 dp[j]):
    dp[j] = grid[i][j] + dp[j]

  3. 遍历其他位置
    对于矩阵中其他位置,需要同时参考右方和下方状态:
    dp[j] = grid[i][j] + min(dp[j], dp[j+1])

这样,dp 数组在整个计算过程中始终保持当前位置右方和下方的最小路径和。

实现代码

def minPathSum(self, grid: List[List[int]]) -> int:rows = len(grid)cols = len(grid[0])dp = grid[rows-1]for i in range(rows - 1, -1, -1):for j in range(cols - 1, -1, -1):if i == rows - 1 and j == cols - 1:continueelif i == rows - 1:dp[j] += dp[j+1]elif j == cols - 1:dp[j] += grid[i][j]else:dp[j] = min(dp[j],dp[j+1])+grid[i][j]return dp[0]

类似题目

不同路径
不同路径II
三角形最小路径和

http://www.dinnco.com/news/49706.html

相关文章:

  • 建设部网站怎么查安全员厦门seo招聘
  • 电商网站建设费用预算如何建立自己的网络销售
  • 深圳专业网站建设企业北京seo营销公司
  • 一站式企业建站制作互联网广告推广好做吗
  • 只放一个图片做网站seo专员岗位要求
  • 网站备案主体是什么品牌宣传如何做
  • 打开传奇sf网站做是一个网站成都网站推广公司
  • 查询网 网站查询自动外链网址
  • 35互联做网站怎么样新东方教育培训机构官网
  • wordpress个人建站教程武汉谷歌seo
  • 怎样在阿里做网站2023年8月新冠疫情
  • 淄博网站建设公司有几家广告商对接平台
  • 网站的转盘游戏怎么做外贸网站建站平台
  • 汽修专业主要学什么seo网站推广经理招聘
  • 手机视频网站搭建学管理培训班去哪里学
  • 华为云速建站可以做英文网站营销策略的重要性
  • 企业网站 流程南昌网站建设
  • 怎么用php做新闻网站网站策划书的撰写流程
  • 网站建设的软文怎么写seo推广平台
  • 有做公司网站的吗人员优化是什么意思
  • 徐州微信网站建设网站自动推广软件
  • 网站301重定向检测谷歌搜索入口
  • 可靠的坪山网站建设网址网域ip地址查询
  • 做代账的网站2023广东最新疫情
  • 全屏网站模板制作教程广州推广系统
  • 国外哪个网站做c 挣钱如何建立一个自己的网站
  • 怎么搜索到自己网站站长网站推广
  • 日本做电子贺卡网站长春网站建设模板
  • 做调查的网站知乎全国seo搜索排名优化公司
  • 面包机做面包网站友情链接检查工具