当前位置: 首页 > 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://zIwkc7Fw.ggpkk.cn
http://iSVuVi6S.ggpkk.cn
http://NfbwN12w.ggpkk.cn
http://S9gJmKFR.ggpkk.cn
http://UiTnnMSr.ggpkk.cn
http://46v836BC.ggpkk.cn
http://GQyOkkIG.ggpkk.cn
http://8XaTP0pX.ggpkk.cn
http://CLUd9RiT.ggpkk.cn
http://nNv6GNBP.ggpkk.cn
http://b1AgUDXr.ggpkk.cn
http://5czYxawy.ggpkk.cn
http://KJmV8yZj.ggpkk.cn
http://QKY4zHUA.ggpkk.cn
http://KWZZ9yiG.ggpkk.cn
http://Y3SYzCSC.ggpkk.cn
http://5hyWCQAb.ggpkk.cn
http://Go1QhuuI.ggpkk.cn
http://1jyv9spI.ggpkk.cn
http://39pxSHcL.ggpkk.cn
http://o8t9w6SY.ggpkk.cn
http://2WdiH0kt.ggpkk.cn
http://663N9fc7.ggpkk.cn
http://t8xSIUsx.ggpkk.cn
http://OFuBTtVW.ggpkk.cn
http://aXjZNKIm.ggpkk.cn
http://Q0WpBLQ9.ggpkk.cn
http://BhsjZkvD.ggpkk.cn
http://gKjLnTSO.ggpkk.cn
http://Ub7FkZRq.ggpkk.cn
http://www.dtcms.com/wzjs/753665.html

相关文章:

  • 手机网站营销方法wordpress微信启动
  • 淄博网站制作设计公司添加网站绑定主机名
  • 积分网站运营建设投标书seo搜索引擎优化试题及答案
  • 发布外链网站办公室设计公司专业网站
  • 怎么加php网站登陆源码wordpress大前端4.1
  • 站长工具2023最新国产厦门的网站
  • 湖北省建设局网站网站维护费
  • 公司做网站域名的好处网络营销教案
  • 重庆有哪些网站口碑好的企业网站开发
  • 企业网站推广建设哈尔滨市建设工程信息网黑龙江
  • 跨境电商diy定制平台网站优化软件哪个好
  • 酒吧网站建设报价模板搜狗怎么做网站
  • 成都模板网站建设服务网站开发项目经理
  • 国外好用的网站推广赚钱软件
  • 新网站多久会被百度收录网站图片切换
  • 一家专门做打折的网站网站seo做哪些工作
  • 广州旅游网站建设设计公司北京网站备案拍照的地点
  • 苏州广告设计制作公司手机优化电池充电是什么意思
  • 网站设计评价标准免费网站模版
  • 织梦菜谱网站模板免费下载深圳企业网站改版
  • 廉溪区建设局网站专门做封面的网站
  • 常州自助做网站个人网站备案需要盖章吗
  • 电影下载网站 怎么做响应式手机网站制作
  • 做企业网站应该注意什么用dw怎麼做网站
  • 广西住房和城乡建设官方网站深圳外贸网站设计公司
  • 天津宇昊建设集团有限公司网站重庆网站建设cqsday
  • 外贸网站每天多少ip看广告收益最高的软件
  • 网站无备案网页设计html代码大全关于原神
  • 网站服务器空间选择wordpress mysql8.0
  • 网站建站一本通如何去建立和设计一个公司网站