首页 > 其他分享 >最小路径和(二维动态规划)

最小路径和(二维动态规划)

时间:2025-01-09 15:43:35浏览次数:1  
标签:int 路径 最小 二维 vector grid

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:7
解释:因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:12

思路:该题的思路与不同路径(二维动态规划)非常相似,只不过是取两者的较小值。

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int m = grid.size();
        int n = grid[0].size();
        vector<vector<int>> dp(m,vector<int>(n,0));
        dp[0][0] = grid[0][0];
        //初始化第一行与第一列
        for(int i=1;i<m;i++) dp[i][0] = dp[i-1][0]+grid[i][0];
        for(int i=1;i<n;i++) dp[0][i] = dp[0][i-1]+grid[0][i];
        //计算其他
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j];
            }
        }
        return dp[m-1][n-1];
    }
};

 

标签:int,路径,最小,二维,vector,grid
From: https://www.cnblogs.com/yueshengd/p/18662290

相关文章

  • 不同路径(二维动态规划)
    一个机器人位于一个 mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径? 示例1:输入:m=3,n=7输出:28示例2:输入:m=3,n=2输出:3解释......
  • 大模型在金融行业的应用场景和落地路径
    这是最好的时代,也是最坏的时代。尽管大模型技术在金融领域具有巨大的应用潜力,但其应用也面临不容忽视的风险和挑战。本文将深入研究大模型在金融领域的数据隐私和安全风险、模型可解释性和透明度、监管和合规要求,梳理中国、美国、欧洲等地AIGC技术的应用规则,探索对应的风......
  • 155. 最小栈
    [题目链接](155.最小栈-力扣(LeetCode))解题思路:一个栈用来存储数据(数据栈),另一个栈用来放当前的最小值(最小栈)。当前最小值是什么?push一个数x,如果最小栈不为空,且最小栈栈顶元素小于x,那么接着push最小栈栈顶元素;否则push当前的xpop时,两个栈同时pop即可代码class......
  • 1.2.3 快速辨别电源主干道,信号回流路径
    快速辨别电源主干道,信号回流路径在PCB(印刷电路板)设计中,快速辨别电源主干道和信号回流路径对于确保电源完整性和信号完整性至关重要。以下是一些步骤和要点,可以帮助设计师快速识别电源主干道和信号回流路径。一、电源主干道的辨别电源主干道是指连接电源输入和电源输出、为电......
  • Python----Python基础(元组 tuple,元组的创建,基本操作:访问,连接,索引,计数,长度,最大值,最小值
    一、元组tuple列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。二、元组的创建 2.1、使用()方式创建元组使用圆括号 () 可以创建一个元组,元素之间用逗号 , 分隔。......
  • 二维动态规划2
    [Algo]二维动态规划21.不同的子序列//4.不同的子序列//https://leetcode.cn/problems/distinct-subsequences/longnumDistinct(strings,stringt){intn=s.length(),m=t.length();vector<vector<long>>dp(n+1,vector<long>(m+1));//dp[i]......
  • ThinkPHP5框架下解决路径配置错误导致模板无法找到的问题
    问题描述:在使用ThinkPHP5开发Web应用程序时,有时会遇到因为路径设置不当而导致试图加载的视图文件不存在的情况。面对这样的报错提示,我们应该怎样排查并修复呢?解决方案:确认项目目录结构:检查项目的物理文件夹组织方式是否与预期一致,特别是application目录下的控制器、模型、视图......
  • 力扣 74. 搜索二维矩阵
    ......
  • 209. 长度最小的子数组
    长度最小的子数组给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的子数组[numsl,numsl+1,...,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例1:输入:target=7,nums=[2,3,1,2,4,3]......
  • 如何理解拟合模型之最小二乘法(线性回归)
    一、定义:一种用于拟合模型的数学方法,目标是找到一组模型参数,使得模型的预测值与真实值之间的误差平方和最小。二、核心思想:通过最小化误差,让模型尽可能接近训练数据三、应用场景:在回归分析中,最小二乘法广泛用于寻找数据点的最佳拟合直线或曲线。例如:在线性回归中,最小二乘......