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

做自媒体查找素材的网站智能模板网站建设

做自媒体查找素材的网站,智能模板网站建设,采集网站后台客户数据,衣服网站模板动态规划解决最小路径和问题 1. 题目链接 LeetCode 64. 最小路径和 2. 题目描述 给定一个包含非负整数的 m x n 网格 grid,从网格的左上角出发,每次只能向右或向下移动一步,最终到达右下角。要求找到一条路径,使得路径上的数字…

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

1. 题目链接

LeetCode 64. 最小路径和

2. 题目描述

给定一个包含非负整数的 m x n 网格 grid,从网格的左上角出发,每次只能向右或向下移动一步,最终到达右下角。要求找到一条路径,使得路径上的数字总和最小。

3. 示例分析

示例输入

grid = [[1,3,1],[1,5,1],[4,2,1]
]

输出7
解释:最小路径为 1 → 3 → 1 → 1 → 1,路径和为 1 + 3 + 1 + 1 + 1 = 7

4. 算法思路

动态规划(Dynamic Programming)

定义 dp[i][j] 表示从起点 (0,0) 到达位置 (i-1,j-1) 的最小路径和。为了简化边界条件的处理,将 dp 数组的维度扩展为 (m+1) x (n+1),并初始化所有值为 INT_MAX

状态转移方程

对于每个位置 (i, j),其最小路径和由上方或左方的最小路径和决定:
dp[i][j] = grid[i-1][j-1] + min(dp[i-1][j], dp[i][j-1])
其中,grid[i-1][j-1] 是当前位置的值,dp[i-1][j] 是上方的路径和,dp[i][j-1] 是左方的路径和。

初始化
  • dp[0][1] = 0:设置一个虚拟起点 dp[0][1] 的值为0,使得起点 dp[1][1] 的值可以正确计算为 grid[0][0] + 0
  • 其余位置初始化为 INT_MAX,表示尚未计算。

5. 边界条件与注意事项

  1. 单行或单列网格:当 m=1n=1 时,路径是唯一的,直接累加所有元素即可。
  2. 索引转换dp[i][j] 对应网格中的 grid[i-1][j-1],需要注意索引偏移。
  3. 虚拟起点的作用:通过 dp[0][1] = 0 避免了在循环中单独处理起点 (1,1) 的初始化问题。
  4. 输入为空的情况:题目假设输入为非空网格,但实际代码中需注意 grid[0].size() 可能越界。

6. 代码实现

class Solution {
public:int minPathSum(vector<vector<int>>& grid) {int m = grid.size(), n = grid[0].size();vector<vector<int>> dp(m + 1, vector<int>(n + 1, INT_MAX));dp[0][1] = 0; // 虚拟起点,用于初始化 dp[1][1]for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {dp[i][j] = grid[i - 1][j - 1] + min(dp[i - 1][j], dp[i][j - 1]);}}return dp[m][n];}
};

代码解释

  1. 初始化 dp 数组:通过 dp[0][1] = 0 使得起点 (1,1) 的值为 grid[0][0]
  2. 填充 dp 数组:遍历每个位置,根据上方和左方的最小值更新当前路径和。
  3. 返回结果:最终结果存储在 dp[m][n],表示到达右下角的最小路径和。

复杂度分析

  • 时间复杂度O(mn),遍历整个网格。
  • 空间复杂度O(mn),使用了 (m+1) x (n+1)dp 数组。

通过动态规划方法,能够高效解决二维网格中的最小路径和问题,适用于机器人导航、资源分配等实际场景。

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

相关文章:

  • 电商网站seo怎么做制作网站的难度
  • 龙岗网站优化公司案例app定制价格是多少
  • 珠海网站建设策划方案西安市建设网
  • 建设银行信用卡管理中心网站不定期更新域名
  • 做视频网站的备案要求如何做类似优酷的视频网站
  • 网站建设的流程该怎么确定东莞软件定制
  • 建设网站涉及的技术北京电子商务网站制作
  • 网站空间3个g多少钱廊坊市固安县建设局网站
  • 网站建设入固定资产郑州制作企业网站
  • 做围棋题网站网站的开发建设要做什么的
  • 免费建造公司网站建设限额哪里看
  • 东莞市官网网站建设报价canva 可画主页首页首页模板素材
  • 天津交通网站建设河南网站开发培训价格
  • 网站建设运用的技术wordpress安装与使用
  • 做3d效果的网站西宁网站开发
  • 昆明凡科建站公司网站建设 上海
  • 黑龙江省建设集团网站小程序是做什么的
  • 简洁的门户网站广州市建筑业联合会
  • 广州网站开发公司排名国家企业信用信息公示系统四川
  • 一家公司做两个网站金华网站制作策划
  • 西安专业做网站的公司有哪些网站服务器ip地址查询
  • 建了个网站百度上会有么pc建站
  • 美食网站 怎么做做黄金期货的网站
  • 搭建本地网站南京网站开发南京乐识专心
  • 网站推广定义浙江省住房和城乡建设厅网站查询
  • 烟台网站建设求职简历wordpress自定义背景颜色
  • 郑州高端网站案例温州市手机网站制作哪家好
  • 视频网站怎么做服务器住房和城乡建设部科技发展促进中心网站
  • 品牌网站建设只询大蝌蚪网络管理软件有哪些
  • 织梦网站更改网站二维码可以做长按识别吗