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

力扣HOT100之多维动态规划:62. 不同路径


这道题用二维dp数组来做相当简单,是一道入门题。直接上动规五部曲:
1.确定dp[i][j]的含义:从起点到位置为[i][j]处的路径总数
2.确定递推公式 dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
3.dp数组初始化 dp[0][j] = 1;dp[i][0] = 1;
4.确定遍历顺序:从左往右,从上往下遍历
5.打印数组(省略)
由于机器人每一次只能向右或者向下移动,不存在走弯路的情况,从地图的左上角走到右下角,每一步都是有效的,不是无用功。到达(i, j)处有两种方式:一种是先设法到达(i - 1, j)处,然后再向下走一步;第二种是先设法到达(i, j - 1)处,然后再向右走一步。因此到达(i, j)处的路径数总是等于到达(i - 1, j)处的路径总数与到达(i, j - 1)处的路径总数之和。

class Solution {
public:int uniquePaths(int m, int n) {//1.确定dp[i][j]的含义:从起点到位置为[i][j]处的路径总数//2.确定递推公式  dp[i][j] = dp[i - 1][j] + dp[i][j - 1];//3.dp数组初始化 dp[0][j] = 1;dp[i][0] = 1;//4.确定遍历顺序:从左往右,从上往下遍历//5.打印数组(省略)vector<vector<int>> dp(m, vector<int>(n, 1));for(int i = 1; i < m; i++){for(int j = 1; j < n; j++)dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}return dp[m - 1][n - 1];}
};

相关文章:

  • 九.C++ 对引用的学习
  • abandon便签:一个免费好用审美在线的桌面便签应用
  • [yolov11改进系列]基于yolov11引入特征融合注意网络FFA-Net的python源码+训练源码
  • 60、Polly瞬态故障处理
  • 【Linux网络篇】:HTTP协议深度解析---基础概念与简单的HTTP服务器实现
  • JUC并发编程(一)
  • 38、响应处理-【源码分析】-HTTPMessageConverter原理
  • 7.文本内容处理sort,uniq,out,cat,comm,diff
  • n8n部署工作流websecscan-ai-powered-website-security-auditor
  • springboot04
  • 【PhysUnits】15.10 类型级别的乘法运算(mul.rs)
  • ps黑白调整
  • Linux 权限管理入门:从基础到实践
  • 向量空间的练习题目
  • 【深度学习-Day 21】框架入门:神经网络模型构建核心指南 (Keras PyTorch)
  • 告别printf!嵌入式系统高效日志记录方案
  • 第四十天打卡
  • Java 2D 图形类总结与分类
  • 放弃 tsc+nodemon 使用 tsx 构建Node 环境下 TypeScript + ESM 开发环境搭建指南
  • QT入门学习(二)---继承关系、访问控制和变量定义
  • wordpress下载/seo免费诊断
  • 怎么提高网站流量/搜狗站长管理平台
  • wordpress 改密码/关键词优化排名要多少钱
  • 企业网站建设费用价格/站长工具是什么
  • 免费收录网站提交/seo推广软件哪个好
  • 淘宝客做网站/微信如何引流推广精准加人