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

编程培训心得体会网站推广优化外包公司

编程培训心得体会,网站推广优化外包公司,单页网站多钱,厦门网站建设首选厦门一联网络动态规划解决最小下降路径和问题 1. 题目链接 LeetCode 931. 最小下降路径和 2. 题目描述 给定一个 n x n 的整数矩阵 matrix,找到一条从第一行到最后一行的下降路径,使得路径上的数字和最小。下降路径可以从第一行的任意元素出发,每一步…

动态规划解决最小下降路径和问题

1. 题目链接

LeetCode 931. 最小下降路径和

2. 题目描述

给定一个 n x n 的整数矩阵 matrix,找到一条从第一行到最后一行的下降路径,使得路径上的数字和最小。下降路径可以从第一行的任意元素出发,每一步可以选择位于下一行正下方、左下方或右下方的元素。例如,位于 (i, j) 的元素可以下降到 (i+1, j-1)(i+1, j)(i+1, j+1)

3. 示例分析

示例输入

matrix = [[2,1,3],[6,5,4],[7,8,9]]

输出13
解释:最小下降路径为 1 → 5 → 7,路径和为 1 + 5 + 7 = 13

4. 算法思路

动态规划(Dynamic Programming)

使用动态规划解决该问题的核心思想是:定义 dp[i][j] 表示从第一行到达第 i 行第 j 列的最小路径和。为了处理边界条件(如矩阵边缘的列),我们扩展 dp 数组的边界,使其维度为 (n+1) x (n+2)

状态转移方程

对于每个位置 (i, j),其路径和的最小值由上一行的三个可能的位置决定:

dp[i][j] = matrix[i-1][j-1] + min(dp[i-1][j-1], dp[i-1][j], dp[i-1][j+1])

其中,matrix[i-1][j-1] 是当前位置的值,dp[i-1][...] 是上一行左、中、右三个位置的路径和的最小值。

初始化
  • dp[0][...] = 0:第一行的所有位置初始化为0,表示从虚拟的第0行出发的路径和为0。
  • 其余位置初始化为 INT_MAX,表示尚未计算。

5. 边界条件与注意事项

  1. 矩阵大小为1的情况:当 n=1 时,直接返回矩阵中唯一的元素。
  2. 索引转换:由于 dp 数组比原矩阵多一圈,访问 matrix 时需要将索引调整为 i-1j-1
  3. 处理边缘列:在矩阵的最左列(j=1)和最右列(j=n),需要确保不会访问到无效的列(如 j=0j=n+1),此时这些位置的 dp 值为 INT_MAX,不影响取最小值。

6. 代码实现

class Solution {
public:int minFallingPathSum(vector<vector<int>>& matrix) {int n = matrix.size();vector<vector<int>> dp(n + 1, vector<int>(n + 2, INT_MAX));// 初始化:从虚拟的第0行出发,路径和为0for (int j = 0; j < n + 2; j++) dp[0][j] = 0;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {// 状态转移:取上一行左、中、右的最小值dp[i][j] = matrix[i - 1][j - 1] + min(min(dp[i - 1][j - 1], dp[i - 1][j]), dp[i - 1][j + 1]);}}// 遍历最后一行,寻找最小值int ret = INT_MAX;for (int j = 0; j < n + 2; j++) {ret = min(ret, dp[n][j]);}return ret;}
};

代码解释

  1. 初始化 dp 数组:第0行初始化为0,其他位置为 INT_MAX
  2. 填充 dp 数组:遍历每一行,根据上一行的三个相邻位置的最小值更新当前值。
  3. 获取结果:遍历最后一行的所有列,找到最小值作为最终结果。

通过这种动态规划的方式,时间复杂度为 O(n²),空间复杂度为 O(n²),能够高效解决该问题。

http://www.dtcms.com/wzjs/522883.html

相关文章:

  • 外贸免费建设网站制作如何给自己的公司建网站
  • 合肥哪家网站公司好重庆网站seo推广公司
  • 网站建设长春阿里云域名
  • 商城网站建设开发公司优化排名软件
  • 智能建站网站磁力搜索器 磁力猫
  • 江门网站快速排名优化微信营销平台哪个好
  • 河北邯郸网站建设公司免费做网站自助建站
  • 池州哪家做网站点金推广优化公司
  • 哪个网站可以做微信头图百度广告投放代理商
  • 网站建设的发票怎么做会计分录大数据分析培训机构
  • 电商运营方案计划书seo排名怎样
  • 天津 公司网站建设微信推广
  • 海口建网站 模板纹身网站设计
  • 天水网站seo2022十大热点事件及评析
  • 如何用WordPress建小说站什么叫seo优化
  • 医院科室网站建设网页制作学习
  • 广州网站建设多少钱中国经济网人事
  • 单页设计风格排名怎么优化快
  • 网站建设开发计入二级科目明细上海专业seo公司
  • 男的直接做的视频网站上海做关键词推广企业
  • 网站建设怎样宣传比较好网站seo外包价格
  • 中国114企业网seo高端培训
  • 想做设计师需要学什么如何做网站seo排名优化
  • 男人不知本网站 枉做百度问答下载安装
  • wordpress手机版app导航seo免费优化网址软件
  • 如何做网站本地服务器线上销售的方法和技巧
  • 企业解决方案公司排名嘉兴新站seo外包
  • 大连建设安全网站泉州百度推广排名优化
  • 有哪些做网站的网站营销软文范例大全300字
  • 繁体版 企业网站优化关键词排名的工具