矩阵的最小路径和

该博客探讨了一个寻找矩阵中从左上角到右下角最小路径和的问题。通过动态规划的方法,建立dp矩阵,其中dp[i][j]表示到达矩阵位置(i, j)的最小路径和。初始条件为第一行和第一列,之后的路径和由其上方或左方位置的最小路径和加上当前位置的值确定,即dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + m[i][j]。" 103333525,8665918,Spring Boot 框架详解,"['Spring Boot', 'Java', '微服务', '约定大于配置', '嵌入式服务器']
摘要由CSDN通过智能技术生成

题目

给定一个矩阵,从左上角开始,每次只能向右或向下走,最后到达右下角位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。

1 3 5 9
8 1 3 4
5 0 6 1
8 8 4 0

思路

经典动态规划方法,假设矩阵m行数为M, 列为N,先生成大小和矩阵相等的矩阵dp,dp [i][j]表示从左上角(0,0)位置走到(i, j)位置的最小路径和。对m的第一行来说,从(0,0)位置到(0,i)位置只能右走,因此,(0,0)位置到(0,j)位置的路径和就是m[0][0…j]累加的结果,同理可得第一列的值。从(0,0)到(i,j)的路径必然经过位置(i-1,j)或(i, j-1),所以,dp[i][j]=min{dp[i-1][j], dp[i][j-1]} + m[i][j];

代码

#include<algorithm>
#include<iostream>
#in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值