当前位置: 首页 > news >正文

【Hot 100 刷题计划】 LeetCode 64. 最小路径和 | C++ 二维动态规划基础版

LeetCode 64. 最小路径和

📌 题目描述

题目级别:中等

给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。

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

💡 破题思路:网格类 DP 模板

这道题是经典的网格动态规划。因为机器人每次只能向右或者向下走,这就意味着到达任意一个格子(i, j),它只能是从上方(i-1, j)走下来,或者是从左方(i, j-1)走过来。

状态定义:
定义dp[i][j]为:从左上角走到格子(i, j)的最小路径和。

状态转移方程:
既然只有两条路过来,想要当前格子的路径和最小,我们就看看上方和左方哪个格子的路径和更小,挑那个小的走过来,再加上当前格子本身的代价。

dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]

边界条件初始化:

  1. 起点dp[0][0] = grid[0][0]
  2. 第一行:只能从左边一直走过来,所以dp[0][j] = dp[0][j-1] + grid[0][j]
  3. 第一列:只能从上边一直走下来,所以dp[i][0] = dp[i-1][0] + grid[i][0]

💻 C++ 代码实现 (严谨边界处理)

classSolution{public:intminPathSum(vector<vector<int>>&grid){intm=grid.size(),n=grid[0].size();// 规范写法:使用 vector 开辟 2D DP 数组vector<vector<int>>dp(m,vector<int>(n,0));for(inti=0;i<m;i++){for(intj=0;j<n;j++){if(i==0&&j==0){// 起点dp[i][j]=grid[i][j];}elseif(i==0){// 第一行,只能从左边来dp[i][j]=grid[i][j]+dp[i][j-1];}elseif(j==0){// 第一列,只能从上面来dp[i][j]=grid[i][j]+dp[i-1][j];}else{// 中间格子,取上和左的较小值dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j];}}}returndp[m-1][n-1];}};
http://www.jsqmd.com/news/634286/

相关文章:

  • 1-8章数据可视化分析系统
  • Explorer Tab Utility:Windows 11 文件资源管理器标签化管理的技术解析与实现
  • NSudo完全指南:5种方法解锁Windows最高系统权限
  • 如何高效构建分布式AI系统:AutoGen多智能体框架实战指南
  • Qwen3.5-9B-AWQ-4bit开源模型部署指南:低成本GPU算力实现多模态推理
  • 嵌入式系统优化实践
  • 如何完整备份QQ空间数据:QZoneExport高效导出与永久保存指南
  • 3分钟快速上手:DLSS Swapper终极指南 - 免费提升游戏画质与性能
  • IIS3DWBTR三轴振动传感器:从寄存器配置到数据读取的SPI实战
  • 告别IAR!用KEIL5搭建华大HC32F460工程保姆级教程(含芯片包安装与文件结构详解)
  • 微信小程序的理发店美容预约
  • 长芯微LMP6295完全P2P替代SM6295,是一种超小型的集成式低压高精度半导体压力传感器
  • GaussDB开发者认证通关秘籍:从零基础到一次通过的实战指南
  • 黑客滥用 GitHub 和 GitLab 托管恶意软件并实施凭证钓鱼攻击
  • Z-Image-Turbo文生图神器实测:输入文字秒出电影级画质
  • Guohua Diffusion 风格迁移实战:将照片转化为梵高、莫奈等大师画风
  • SDMatte光影一致性处理:复杂光照条件下抠图物体的自然融合效果
  • 2026深度测评:GEO(AI 搜索优化)真的适合高客单价、长决策周期的业务吗?
  • 5分钟搞定!Seed-Coder-8B-Base代码助手快速部署与IDE集成指南
  • Live2D AI交互引擎深度解析:实时动画渲染与智能对话的Web集成实战指南
  • 3步搞定Mac NTFS读写难题:Nigate免费工具全面指南
  • 深度解析256位AES加密技术在游戏逆向工程中的实现原理
  • 避坑指南:OpenCascade中TopoDS_Shape共享机制的那些‘坑’与最佳实践
  • LSTM与cv_resnet101结合展望:视频流中人脸行为时序分析
  • ReadCat小说阅读器:3大核心功能与完整使用指南,打造你的专属数字书房
  • Java的java.util.random中的控制流式
  • ADB Explorer:颠覆性Android文件管理体验,告别繁琐命令行
  • CentOS 7.9 下 tigervnc-server 的配置与远程桌面连接实战
  • 5分钟拯救损坏视频:untrunc开源修复工具完全指南
  • C# 实战:利用ZXing.Net实现一维码/二维码的生成、定制化与解析