【Leetcode】64. 最小路径和

给定一个包含非负整数的 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

提示:

  • m == grid.length
  • n == grid[i].length
  • 1

思路:

  • 动态规划
  • 特判第一个位置
  • 如果某个位置在第一行,那么只能从左面走过来,不能从上面走过来;如果某个位置在第一列,那么只能从上面走过来,不能从左面走过来。除此以外的点均是从上面走过来或者从左面走过来。
  • 从上面走过来: dp[i][j] = min(dp[i][j], dp[i - 1][j] + grid[i][j])
  • 从左面走过来: dp[i][j] = min(dp[i][j], dp[i][j - 1] + grid[i][j])

code:

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int n = grid.size(), m = grid[0].size();
        const int N = 210, INF = 1e9;
        int dp[N][N];
        for (int i = 0; i < n; i ++){
            for (int j = 0; j < m; j ++){
                // &#x7279;&#x5224;&#x7B2C;&#x4E00;&#x4E2A;&#x4F4D;&#x7F6E;
                if (i == 0 && j == 0){
                    dp[i][j] = grid[i][j];
                } else {
                    dp[i][j] = INF;
                    // &#x7279;&#x5224;&#x7B2C;&#x4E00;&#x884C;
                    if (i > 0){
                        dp[i][j] = min(dp[i][j], dp[i - 1][j] + grid[i][j]);
                    }
                    // &#x7279;&#x5224;&#x7B2C;&#x4E00;&#x5217;
                    if (j > 0){
                        dp[i][j] = min(dp[i][j], dp[i][j - 1] + grid[i][j]);
                    }
                }

            }
        }
        return dp[n - 1][m - 1];
    }
};
</vector<int>

Original: https://www.cnblogs.com/Timesi/p/16667463.html
Author: 顾北清
Title: 【Leetcode】64. 最小路径和

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578205/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux磁盘配额管理

    磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中能使用的最大空间 1、查看内核是否支持磁盘配额 grep “CONFIG_QUOTA&#…

    Linux 2023年5月27日
    090
  • 机器学习算法_knn(福利)

    这两天翻了一下机器学习实战这本书,算法是不错,只是代码不够友好,作者是个搞算法的,这点从代码上就能看出来。可是有些地方使用numpy搞数组,搞矩阵,总是感觉怪怪的,一个是需要使用三…

    Linux 2023年6月6日
    0102
  • Java面向对象之各种变量详解

    在Java中一定有很多变量让大家头疼,成员变量、类变量、局部变量等等,今天就来分别认识认识他们吧! Java面向对象之各种变量详解 前言 在 Java语言中, 根据定义变量位置的不…

    Linux 2023年6月13日
    076
  • 剑指offer计划28(搜索与回溯算法困难)—java

    1.1、题目1 剑指 Offer 37. 序列化二叉树 1.2、解法 这题给我笑死了,我看到题解有个解法,我愿称之为神。 public class Codec { private …

    Linux 2023年6月11日
    096
  • Python中class内置方法__init__与__new__作用与区别探究

    最近尝试了解Django中ORM实现的原理,发现其用到了metaclass(元类)这一技术,进一步又涉及到Python class中有两个特殊内置方法__init__与__new_…

    Linux 2023年6月6日
    084
  • 小白上手Linux系统安装jdk教程

    Eg:将上传后的jdk,解压到/home/lzh/jdk目录下,命令如下: tar -zxvf ./ jdk 版本号 -C /home/lzh/jdk/ 注意末尾必须加&#8221…

    Linux 2023年5月27日
    082
  • 020 Linux 20个宝藏命令案例

    1 JDK 相关的查找命令 (1)确认是否安装 JDK (2)查找 java 命令目录的位置 (3)查找 java 命令的位置的软链地址 (4)通过软链地址查找 JDK 的安装目录…

    Linux 2023年5月27日
    082
  • 随笔记录

    html结构、css表现、js行为vscode和sublime一样的在vscode中的插件:a.Auto Rename Tag 整体改变标签b.view-in-browser 预览…

    Linux 2023年6月13日
    084
  • powershell配置自动补全

    powershell配置自动补全 一、需求: 看到老师上课用mac命令行有自动补全功能,发现真的爽。但是自己的windows powershell不能使用自动补全功能。有了需求,就…

    Linux 2023年6月13日
    0122
  • docker网络模型

    [root@iZuf620p8rsr3faul3zsx6Z ~]# docker network –help Usage: docker network COMMAND Mana…

    Linux 2023年6月13日
    0113
  • 数字数组

    3、【剑指Offer学习】【面试题03:找出数组中重复的数字】 4、【剑指Offer学习】【面试题04:二维数组中的查找】 11、【剑指Offer学习】【面试题11:旋转数组的最小…

    Linux 2023年6月13日
    0118
  • mysql查询中字符串转换成数字

    在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下: 1.将字符的数字转成数字,比如’0’…

    Linux 2023年6月13日
    069
  • 关于在Rocky linux下安装dotnet sdk不成功的问题

    Rocky Linux 9,运行 dnf install -y dotnet-sdk-6.0 一切正常,运行起来非常顺利,安装完毕。但是非常诡异,运行 dotnet –list-…

    Linux 2023年6月6日
    0109
  • PHP安装和部署

    一、关闭防火墙 二、安装EPEL源、REMI源、yum源管理工具、PHP 7.3 ①安装epel源 [root@localhost yum.repos.d]# yum instal…

    Linux 2023年6月7日
    0121
  • 如何使用 etcd 实现分布式 /etc 目录

    etcd 是一款兼具一致性和高可用性的键值数据库,简单、安全、快速、可信,目前是 Kubernetes 的首要数据存储。我们先来看一段 etcd 官方对于名字的解释。 The na…

    Linux 2023年6月14日
    0123
  • JAVA环境变量配置

    java环境配置 下载jdk地址如下: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载安…

    Linux 2023年6月7日
    0111
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球