山西格泰网站建设,高端网页开发软件,企业标准化体系建设流程,wordpress 回复楼层牛客题霸 [矩阵的最小路径和] C题解/答案、
题目描述
给定一个 n * m 的矩阵 a#xff0c;从左上角开始每次只能向右或者向下走#xff0c;最后到达右下角的位置#xff0c;路径上所有的数字累加起来就是路径和#xff0c;输出所有的路径中最小的路径和。
题解#xff…牛客题霸 [矩阵的最小路径和] C题解/答案、
题目描述
给定一个 n * m 的矩阵 a从左上角开始每次只能向右或者向下走最后到达右下角的位置路径上所有的数字累加起来就是路径和输出所有的路径中最小的路径和。
题解
dp[i]:表示到达第i行所需要的的最短路径 对于第一列只能从上往下 对于第一行只能从左往右 对于非第一行第一列的位置到达有两个办法从该点的左侧过来或者从上侧过来取最小即可然后加当前值
代码
class Solution {
public:/*** * param matrix int整型vectorvector the matrix* return int整型*/int minPathSum(vectorvectorint matrix) {// write code hereint mmatrix.size();//列int nmatrix[0].size();//行vectorintdp(n);dp[0]matrix[0][0];for(int j1;jn;j){dp[j]dp[j-1]matrix[0][j];//求出第一列的前缀和}for(int i1;im;i){dp[0]matrix[i][0];for(int j1;jn;j){dp[j]min(dp[j-1],dp[j])matrix[i][j];}}return dp[n-1];}
};