动态规划-矩阵的最小路径和(只允许向右向下移动)

一、问题描述

二、解题思路

这个题目是典型的动态规划问题,只能从左上角开始,往右或者往下移动。

1.dp数组的初始化:

第一行:设置行总花费变量,每往右走一个格把当前格的花费Cost加到总花费中,总花费就是当前格的最小花费。

第一列:设置列总花费变量,每往下走一个格把当前格的花费Cost加到总花费中,总花费就是当前格的最小花费。

2.状态转移方程:

设当前在第ij位置,从左上角到当前位置的总花费=下面两者较小值 加上当前格花费cost

2.1 从左侧格ij-1往右走

2.2 从上侧格i-1j往下走

即:dpij = Min(dpij-1,dpi-1j)+cost

三、代码实现

java 复制代码
import java.util.*;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param matrix int整型二维数组 the matrix
     * @return int整型
     */
    public int minPathSum (int[][] matrix) {
        // 这个题目是典型的动态规划问题
        int rowLen=matrix.length;
        int colLen=matrix[0].length;
        int[][] dpMatrix=new int[rowLen][colLen];
        
        //初始化dpMatrix
        int colCost=0;
        for(int col=0;col<colLen;col++){//初始化第0行
            colCost+=matrix[0][col];
            dpMatrix[0][col]=colCost;
        }
        int rowCost=0;
        for(int row=0;row<rowLen;row++){//初始化第0列
            rowCost+=matrix[row][0];
            dpMatrix[row][0]=rowCost;
        }

        //每次只能向右或者向下移动
        for(int row=1;row<rowLen;row++){
            for(int col=1;col<colLen;col++){
                int downCost=dpMatrix[row-1][col]+matrix[row][col];
                int rightCost=dpMatrix[row][col-1]+matrix[row][col];
                dpMatrix[row][col]=Math.min(downCost,rightCost);
            }
        }
        return dpMatrix[rowLen-1][colLen-1];
    }
}

四、刷题链接

矩阵的最小路径和_牛客题霸_牛客网

相关推荐
Sagittarius_A*9 分钟前
后量子密码|通识认知 02|量子威胁核心原理:Shor 算法如何击穿传统公钥密码
算法·信息安全·密码学·量子计算
青山木22 分钟前
Hot 100 --- 在排序数组中查找元素的第一个和最后一个位置
java·数据结构·算法·leetcode
其美杰布-富贵-李26 分钟前
聚类算法详解:K-means、层次聚类与 DBSCAN
算法·机器学习·kmeans·聚类
乱七八糟的屋子40 分钟前
MTL4 (Matrix Template Library) 超详细实战教程|C++高性能稠密/稀疏矩阵计算
c++·矩阵·稀疏矩阵·mtl4·matrixtemplate·c++线性代数·高性能数值计算
碧海银沙音频科技研究院1 小时前
4 BES2710编译环境搭建方法
嵌入式硬件·算法
mifengxing1 小时前
LeetCode 238 除自身以外数组的乘积|无除法O(n)时间+O(1)空间双解法
java·算法·leetcode
依然鸣2 小时前
PTA团体程序设计天梯赛L2真题讲解L2-045-048
数据结构·c++·经验分享·学习·算法·pat考试·pat
丢掉幻想准备斗争2 小时前
5.5树与二叉树的应用
算法
ZhouDevin2 小时前
算法论文/模型微调2——仅骨干1%~3% 参数达到与全量微调相当的性能
算法
Sinosecu-OCR2 小时前
文通OCR技术深度解析:自研算法如何搞定复杂场景识别?
算法·ocr·ocr识别系统