动态规划--2-矩阵中最小路径和

该博客介绍了一个经典的动态规划问题,即在给定矩阵中找出从左上角到右下角的最小路径和。通过计算第一行和第一列的累加值,以及后续位置取上边和左边较小值加上当前位置的值,可以找到最小路径和。举例说明了如何计算矩阵 `[1, 3, 5, 9; 8, 1, 3, 4; 5, 0, 6, 1; 8, 8, 4, 0]` 的最小路径和为 12。" 137684479,1442232,Oracle数据库导入全攻略,"['数据库管理', 'Oracle数据库', '数据迁移']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【题目】给定一个矩阵m,从左上角开始每次只能向右走或者向下走,最后达到右下角的位置,路径中所有数字累加起来就是路径和,返回所有路径的最小路径和,如果给定的m如下,那么路径1,3,1,0,6,1,0就是最小路径和,返回12. 
1 3 5 9 
8 1 3 4 
5 0 6 1 
8 8 4 0

      经典的动态规划问题:

      假设m是m行n列的矩阵,那么我们用dp[m][n]来抽象这个问题,dp[i][j]表示的是从原点到i,j位置的最短路径和。

              首先计算第一行和第一列,直接累加即可;

              那么对于其他位置,要么是从它左边的位置达到,要么是从上边的位置达到,我们取左边和上边的较小值,然后加上当前的路径值,就是达到当前点的最短路径。

 

#include <iostream>
#include <vector>
using namespace std;

class Solution
{
public:
	int minPathSum(vector<vector <int> > num)
	{
		int row = num.size()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值