描述

62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

示例 1:

输入:m = 3, n = 7
输出:28
示例 2:

输入:m = 3, n = 2
输出:3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。

  1. 向右 -> 向下 -> 向下
  2. 向下 -> 向下 -> 向右
  3. 向下 -> 向右 -> 向下
    示例 3:

输入:m = 7, n = 3
输出:28
示例 4:

输入:m = 3, n = 3
输出:6

提示:

1 <= m, n <= 100
题目数据保证答案小于等于 2 * 109

思路一:动态规划

class Solution {public:int uniquePaths(int m, int n) {//1:确定dp[i][j]:i,j代表的是位置点,表示从(0,0)出发到(i,j)有dp[i][j]条不同数据vector<vector<int>> dp(m,vector<int>(n,0));//2:确定初始条件for(int i=0;i<m;i++) dp[i][0] = 1;for(int j=0;j<n;j++) dp[0][j] = 1;//3:确定遍历顺序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];}
};

LeetCode-动态规划基础题-62. 不同路径相关推荐

  1. LeetCode动态规划基础题-总结(超级长文)

    前言 五一留校,要不学习一下,整理了一下之前学习的动态的笔记~- -_--- 这部分的题目 确实很有质量的呀,认真看完,会有收获的啦. 感谢代码随想录.LeetCode 真是非常好的练习平台和习题讲解 ...

  2. 跟我打卡LeetCode 61旋转链表62不同路径63不同路径 II

    原创公众号:bigsai 关注后回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 49字母异位词分组&50pow(x,n)&51八皇后 LeetCode打卡 52八皇 ...

  3. leetcode菜狗入门 | 62. 不同路径 63. 不同路径 II

    不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图 ...

  4. LeetCode-动态规划基础题-63. 不同路径II

    描述 63. 不同路径II 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角 ...

  5. 90. Leetcode 剑指 Offer 62. 圆圈中最后剩下的数字 (动态规划-基础题)

    步骤一.确定状态: 确定dp数组及含义 dp[i]表示的是i个数里面循环删除m个数剩下的数 步骤二.推断状态方程: 首先假设f(n,m)表示从n个数字0....n−1中每次删除第 m个数字之后剩下的数 ...

  6. [Leetcode][第63题][JAVA][不同路径2][动态规划][压缩路径]

    [问题描述][中等] [解答思路] 1. 动态规划流程 第 1 步:设计状态 第 2 步:状态转移方程 第 3 步:考虑初始化 第一行第一列 没有遇到"障碍" 就为1 如果u(i, ...

  7. 89. Leetcode 96. 不同的二叉搜索树 (动态规划-基础题)

    步骤一.确定状态: 确定dp数组及含义 dp数组的长度是n+1, dp[i]表示的是从1...i为节点组成的二叉搜 索树的个数 步骤二.推断状态方程: 步骤三.规定初始条件: 初始条件: dp[0]= ...

  8. 88. Leetcode 剑指 Offer 14- I. 剪绳子 (动态规划-基础题)

    给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] .请问 k[0]*k[1]*... ...

  9. 87. Leetcode 343. 整数拆分 (动态规划-基础题)

    给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化.返回 你可以获得的最大乘积 .示例 1:输入: n = 2 输出: 1 解释: 2 = 1 ...

最新文章

  1. R语言ggplot2可视化:在选定数据点周围添加三角形(Add Triangles Around Select Data Points)
  2. python二十二:迭代,三元表达式,列表解析
  3. Java NIO之缓冲区
  4. 没错,那帮实习生什么都做不好
  5. C专家编程-Chapter6 运行时数据结构(转)
  6. Taro+react开发(60) 第三方icon使用
  7. 图像的频率谱和功率谱代表什么_视频/图像质量评价综述(三)
  8. HTML5新增表单属性(HTML5)
  9. 从零开始搭二维激光SLAM --- 基于gtsam的后端优化的代码实现
  10. Laravel的中间件
  11. 根据关键词获取多平台的商品列表接口解析
  12. am包络检波matlab,matlab实现包络检波
  13. 【信源编码】Huffman Coding原理以及MATLAB实现
  14. 种草电商系统种草电商系统开发解决方案
  15. 下一步工作应该怎样开展
  16. adb 连接逍遥游模拟器搭配monkey命令 抓取 logcat日志
  17. 带求和符号的函数求导
  18. 精准身份证号验证的具体实现方法 校验码计算逻辑
  19. System Center 2019 - Virtual Machine Manager (VMM) 的系统要求
  20. Android悬浮窗适配全机型,包含8.0,小米魅族华为悬浮窗权限适配demo看这一篇就够了

热门文章

  1. Leetcode剑指 Offer II 024. 反转链表
  2. golang sync.Map 使用
  3. 解决ping的IP 但是ping 不通域名的问题 或者请求找不到主机 请检查该名称
  4. 小而美的个人博客——前端——types and archives
  5. c++美发店管理系统设计_美发店如何打造会员管理系统?掌柜智囊—收银机必不可少...
  6. acid php5,ACID原则
  7. python制表符什么意思_python中制表符是什么意思
  8. Qt中的QInputDialog
  9. Dictionary泛型集合
  10. PHP做好友关系系统,php社交好友网站