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

最小路径和

dp问题描述

最小路径和
在这里插入图片描述

确定本题的状态表示

dp[i][j]表示的是矩阵从左上角走到(i,j)位置一路上的数字总和的最小值

确定本题的状态转移方程

本题的状态转移方程依然是
dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i-1][j-1];
但是要注意边界条件,因为边界值初始化为0,我们比的又是最小值,所以当i和j位于矩阵数值边界时,不能把最外围那层0加进来比,否则会污染有效数据

填表求值

根据初始条件和状态转移方程,确定填表顺序,进而逐步填满dp表,最终返回题目要的结果

代码实现

class Solution {
public:int minPathSum(vector<vector<int>>& grid) {int m=grid.size();if(m==0) return 0;int n=grid[0].size();vector<vector<int>> dp(m+1,vector<int>(n+1,0));for(int i=1;i<=m;i++){for(int j=1;j<=n;j++){if(i==1)dp[i][j]=dp[i][j-1]+grid[i-1][j-1];else if(j==1)dp[i][j]=dp[i-1][j]+grid[i-1][j-1];elsedp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i-1][j-1];cout << "dp["<<i<<"]["<<j<<"]="<< dp[i][j]<< endl;}}return dp[m][n];}
};
http://www.dtcms.com/a/335574.html

相关文章:

  • Java基础面试题(3)—Java(String字符串的存储方式,字面量)
  • docker常用命令详解
  • [GLM-4.5] LLM推理服务器(SGLang/vLLM) | 工具与推理解析器
  • 03高级语言逻辑结构到汇编语言之逻辑结构转换if (...) {...} else if {...} else {...}
  • java设计模式之迪米特法则使用场景分析
  • C++ 特殊类设计与单例模式解析
  • USB 2.0声卡
  • STL——set map
  • 机器学习--PCA降维
  • 功能强大!开源免费的视频翻译、音视频转录工具
  • LLM应用终极评估指南
  • 一键管理 StarRocks:简化集群的启动、停止与状态查看
  • 《解构WebSocket断网重连:指数退避算法的前端工业级实践指南》
  • 《PEFLL: Personalized Federated Learning by Learning to Learn》——论文阅读
  • 数据电台询价的询价要求
  • 论文阅读-Gated CRF Loss for Weakly Supervised Semantic Image Segmentation
  • 【前端面试题】JavaScript核心面试题解析
  • Linux安装及远程连接知识实践
  • 【*正确*题解|两种做法】 [JLOI2013] 洛谷 P3256 赛车[半平面交/单调栈]
  • OmniDrive论文速读
  • 在云服务器上部署springBoot+vue前后端分离项目
  • 数据结构代码分享-1 顺序表
  • 数字人视频互动技术对比
  • 云计算-k8s实战指南:从 ServiceMesh 服务网格、流量管理、limitrange管理、亲和性、环境变量到RBAC管理全流程
  • Day07 缓存商品 购物车
  • 【远程桌面】从RustDesk服务器看UDP对比WebRTC
  • es下载、安装、部署以及集成和mysql数据同步
  • 给纯小白的Python操作Word笔记
  • gin结合minio来做文件存储
  • The Network Link Layer: 无线传感器中Delay Tolerant Networks – DTNs 延迟容忍网络