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

石岩网站建设网络营销五个主要手段

石岩网站建设,网络营销五个主要手段,成都软件培训机构排名榜,化妆品备案查询官网动态规划中的矩阵问题是非常经典的应用场景,比如最小路径和问题。这类问题很自然地可以想到使用二维 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.hengruixuexiao.com/news/18388.html

相关文章:

  • 网站开发女生适合吗上海公司排名
  • 广州新公司网站建设短视频seo搜索优化
  • 贵州网站外包成都网站排名优化公司
  • 惠州做网站优化阿里指数在哪里看
  • 上海 .net网站建设网站推广计划书范文500字
  • 学院网站建设的意义全网营销推广
  • 做网站时遇到的问题百度服务平台
  • 企业网站建深圳网络推广招聘
  • 加强理想信念教育主题网站建设推广营销方案
  • 传奇私服的网站是怎么做的免费发布信息网平台
  • macromedia怎么做网站网络营销的方式
  • 网站建设那个公司好域名被墙检测
  • wordpress 清理插件惠州seo关键字优化
  • 如何做网站充值seo方法
  • 南京谁做免费网站seo教程seo入门讲解
  • 教做发型的网站北京疫情太严重了
  • wordpress统计分析seo综合检测
  • 目录网站做外链chrome网页版入口
  • 西安哪家网站做的好app数据分析软件
  • 徐州经济开发区网站技术短期培训班
  • wordpress首页文章列表丰富多样seo软件简单易排名稳定
  • 上海闸北城市建设有限公司网站腾讯企点账户中心
  • 电脑网页视频下载seo教程自学入门教材
  • 建个什么网站吗百度点击快速排名
  • 开源asp学校系统网站百度店面定位怎么申请
  • 如何给网站2做推广友情链接联盟
  • 网页建站专业公司百度引擎搜索
  • 网站制作团队宁德市有几个区几个县
  • 宁波网站设计公司哪个好广东优化疫情防控措施
  • 网页代理最干净最悠久seo优化宣传