当前位置: 首页 > 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.lryc.cn/news/623947.html

相关文章:

  • 【JAVASE】-9- 接口语法基础
  • Android中切换语言的方法
  • DNS总结
  • 【Linux内核】Linux信号机制
  • linux 常用代码
  • nodejs 错误处理
  • Collections.synchronizedList是如何将List变为线程安全的
  • vs studio 2017项目不支持studio vs2022
  • 【k8s】Kubernetes核心概念与架构详解
  • 从0实现系统设计
  • Leetcode 15 java
  • GitHub Copilot:AI编程助手的架构演进与真实世界影响
  • 浜掕仈缃戝ぇ鍘侸ava姹傝亴鑰呴潰璇曠幇鍦猴細褰撲弗鑲冮潰璇曞畼閬囦笂鎼炵瑧绋嬪簭鍛樿阿椋炴満
  • Conda 环境 在AI 私有化部署 有怎么用?
  • 电力设备状态监测与健康管理:基于多源异构数据融合的技术实现
  • 五、redis入门 之 客户端连接redis
  • 计算机网络 HTTP1.1、HTTP2、HTTP3 的核心对比及性能分析
  • ReactNode 类型
  • Java项目中短信的发送
  • 密码学系列 - 零知识证明(ZKP) - 多种承诺方案
  • Java ConcurrentHashMap 深度解析
  • 【LeetCode 热题 100】(八)二叉树
  • EC11编码器
  • 集成电路学习:什么是SIFT尺度不变特征变换
  • 43 C++ STL模板库12-容器4-容器适配器-堆栈(stack)
  • 基于DSP+ARM+FPGA架构的储能协调控制器解决方案,支持全国产化
  • 电子电气架构 --- 自动驾驶汽车的下一步发展是什么?
  • 下降路径最小和
  • 【网络通信】TCP/IP 协议全方位解析​
  • java如何把字符串数字转换成数字类型