首页 > 试题广场 >

矩阵的最小路径和

[编程题]矩阵的最小路径和
  • 热度指数:10347 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。

输入描述:
第一行输入两个整数 n 和 m,表示矩阵的大小。

接下来 n 行每行 m 个整数表示矩阵。


输出描述:
输出一个整数表示答案。
示例1

输入

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

输出

12

备注:

头像 其始于围城
发表于 2022-08-17 11:21:13
由于每次只能向右或者向下,所以可以使用如下方法: 方法一: 使用和原矩阵同等大小的dp矩阵,用以记录左上角点到当前点的最小路径和。每一点只可能来自左或上这两个位置 #include<bits/stdc++.h> using namespace std; int minTraceSum 展开全文
头像 牛客197105342号
发表于 2020-04-14 17:03:39
菜鸡第一次独立思考解决掉的问题。。。目前我对动态规划的理解,很多时候需要借助一个额外的存储空间(记忆空间)来解决,和刚开始学编程用一个flag变量来记录状态一样。 问题既然是求到最后一个位置的最小值,那么最后一个位置的值是怎么来的呢?按照动态规划的思想,必然是来自前一个记录位置的较小值加上最后一个位 展开全文
头像 总之就是非常可爱
发表于 2022-02-20 16:37:54
#include<bits/stdc++.h> using namespace std; int min(int a,int b){     return a<b?a:b; } int main(){     int n,m;   展开全文
头像 WYJ96
发表于 2021-07-28 05:04:06
/*动态规划 矩阵大小MxN 遍历了,时间复杂度O(MxN) dp大小int [M][N],空间复杂度O(MxN) * */ public static int minPathSum1(int[][]m){ if(m==null||m.length= 展开全文