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

【代码随想录day 34】 力扣 62.不同路径

视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/unique-paths/

这道题还是按照动归五步法

  1. 确定dp[i][j] 含义:dp[i][j]表示(i, j)这个点有几种走法
  2. 递推公式:因为一个点只能由上面的点和左面的点走到,所以dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
  3. 初始化:任意一个点都是由上面或左面推导而来,所以初始化最上一行和最左一列
  4. 遍历顺序:从左往右,从上往下
  5. 输出打印
    这里需要注意的是,m*n的网格dp[i][0]表示最左一列,dp[0][j]表示最上一行,所以初始化dp的时候不要搞混,容易越界访问。
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.初始化:任意一个点都是由上面或左面推导而来,所以初始化最上一行和最左一列vector<vector<int>> dp(m, vector<int>(n,0));//纵向遍历改变的是第一个值,横向便利改变的是第二个值for(int i = 0; i < m; ++i){dp[i][0] = 1;}for(int j = 0; j < n; ++j){dp[0][j] = 1;}//4.遍历顺序:从左往右,从上往下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];//cout<< "(" << i << "," << j << "):" << dp[i][j] << endl;}}//因为是m*n,从0开始,所以最右下角是dp[m - 1][n - 1]return dp[m - 1][n - 1];}
};
http://www.dtcms.com/a/434255.html

相关文章:

  • 点击app图标进入网站怎么做小程序软件开发制作
  • 【Rust GUI开发入门】编写一个本地音乐播放器(15. 记录运行日志)
  • Rust模式匹配详解
  • 石家庄做网站建设公司安徽省建设厅网站职称申报
  • gitlab-runner 再次实践中理解和学习
  • C++之stack等容器适配器(上)实战篇
  • JavaWeb零基础学习Day1——HTMLCSS
  • Starting again-01
  • 如何做网站链接使用朝阳seo建站
  • Nivo 用React打造精美数据可视化的开源利器
  • 【iOS安全】iPhone X iOS 16.7.11 (20H360) Palera1n MacOS版 越狱教程
  • 【连载4】数据库热点更新场景调优策略
  • 深入解析HarmonyOS ArkTS:从语法特性到实战应用
  • 小杰深度学习(five)——正则化、神经网络的过拟合解决方案
  • 网页网站开发大概多少钱网站设计公司 深圳龙华
  • 门户网站是什么意思?网站建设哈尔滨app开发2
  • 《吃透 C++ vector:从基础使用到核心接口实战指南》
  • wordpress上传到哪里什么网站利于优化
  • [Web网页] 零基础入门 HTML
  • Nimble:让SwiftObjective-C测试变得更优雅的匹配库
  • HTML——1px问题
  • 【C++项目】基于微服务的即使通信系统
  • wordpress企业站模板建协官网
  • 【办公类-115-04】20250920职称资料上传03——压缩课题结题报告PDF的大小(控制在200MB以内)
  • Python - 100天从新手到大师:第二十七天Python操作PDF文件
  • 做网站一般长宽多少如何线上推广引流
  • C++20 协程:在 AI 推理引擎中的深度应用
  • 如何做游戏推广seo整站优化
  • CompLLM 来了:长文本 QA 效率革命,线性复杂度 + 缓存复用,推理速度与效果双丰收
  • 嵌入式开发中用于调试的技术Semihosting