Leetcode
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
问总共有多少条不同的路径?

例如,上图是一个7 x 3 的网格。有多少可能的路径?

示例 1:

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

  1. 向右 -> 向右 -> 向下
  2. 向右 -> 向下 -> 向右
  3. 向下 -> 向右 -> 向右

示例 2:

输入: m = 7, n = 3
输出: 28

提示:

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

代码
递归(超时)

class Solution {public:int uniquePaths(int m, int n) {if(m<=0 || n<=0) return 0;if(m==1||n==1) return 1;//最左边和最上边只有一种else return uniquePaths(m-1,n)+uniquePaths(m,n-1);}
};

有记忆性递归(AC)

class Solution {public:int f[101][101]={0};//放在外面初始化,类似于全局变量int uniquePaths(int m, int n) {if(m<=0 || n<=0) return 0;if(m==1||n==1) return 1;//最左边和最上边只有一种if(f[m][n]==0)//未计算过f[m][n]= uniquePaths(m-1,n)+uniquePaths(m,n-1);return f[m][n];}
};

注意
二维数组初始化,只能放在函数外面,相当于全局变量。放在函数里面会超时。

int f[101][101]={0};//放在外面初始化,类似于全局变量
int uniquePaths()
{
}

动态规划
分析
使用二维数组。注意初始化,对第一列和第一行进行赋值1(只有一种走法),之后通过二重循环进行递推。

class Solution {public:int uniquePaths(int m, int n) {int dp[101][101]={0};//动态申请二维数组for(int i=1;i<=n;i++)//第1行dp[1][i]=1;for(int i=1;i<=m;i++)//第1列dp[i][1]=1;for(int i=2;i<=m;i++)for(int j=2;j<=n;j++)dp[i][j]=dp[i-1][j]+dp[i][j-1];return dp[m][n];}
};

来源:力扣(LeetCode)
链接:点击https://leetcode-cn.com/problems/unique-paths

Leetcode62 DP相关推荐

  1. dp,sp,px相互转化

    方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...

  2. [JS][dp]题解 | #打家劫舍(一)#

    题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...

  3. HDU 2084 数塔(DP)(JAVA版)

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. dp cf 20190615

    A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...

  5. BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)

    Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MB Submit ...

  6. [NOI2005]聪聪与可可(期望dp)

    题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...

  7. Codeforces 903F Clear The Matrix(状态压缩DP)

    题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...

  8. 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)

    A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05   最后更新: 2017年2月21日 20:06   时间限制: 1000ms   内存限制: 128M 描述 传说喵哈哈村有三种神 ...

  9. 尼克的任务 dp 洛谷1280

    蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...

最新文章

  1. 引入 ServletContextListener @Autowired null 解决办法
  2. 02331 数据结构 学习小记 归纳总结
  3. SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)...
  4. Java测试新手_测试新手的一些经验
  5. git flow 分支合并
  6. cmd控制台通过sftp命令下载服务器文件
  7. JAVA之所得税计算器
  8. 使用esp-ilnk 连接 sim800l 测试AT指令
  9. 解析Excel(xls、xlsx两种格式)
  10. Selenium WebDriver高级应用
  11. 回溯法之旅行商问题解题思路详解
  12. “新”在哪 | 解密新型云计算数据中心三大关键词
  13. Android Studio模拟器如何运行apk文件
  14. windows10使用administrator登录后出现“无法使用内置管理员账户打开应用”的解决方法
  15. cad相对坐标快捷键_cad角度快捷键(cad角度命令怎么输入)
  16. 前端--HTML,常用标签学习
  17. Reporting verbs
  18. vartualBox安装oracle数据库
  19. idea maven项目的依赖有红色波浪线解决
  20. uva188 完美哈希题解

热门文章

  1. posix自定义消息队列_消息队列开源框架,基于Io,节约服务器资源
  2. 张志华 机器学习 两门课程正确顺序及视频连接
  3. [Python]--爬虫 Resources Collection
  4. wamp2.5 64 mysql_Wamp2.5 64bit,无法修改MySQL datadir位置_MySQL
  5. python 数据库表结构转为类_Python数据科学实践 | 数据库1
  6. leetcode17 电话号码的字母组合
  7. Msg3最大传输次数(maxHARQ-Msg3Tx)
  8. 线程运行程序c语言,理解线程1 C语言示例的程序
  9. 通过MATLAB读取mnist数据库
  10. GPS系统跟踪捕获算法的Verilog实现