LeetCode 62 Unique Paths(记忆化搜索)
来源:互联网 发布:linux mysql5.7 重启 编辑:程序博客网 时间:2024/05/19 19:12
The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).
How many possible unique paths are there?
Above is a 3 x 7 grid. How many possible unique paths are there?
Note: m and n will be at most 100.
题目大意:有一个m行n列的格子矩阵,一个机器人要从左上角走到右下角,机器人只能向右或向下移动,问最终有多少种方案可以走到右下角。
解题思路:令f[m, n]为从[1, 1]走到[m, n]的方案数,那么从图上可以看出:
当m != 1且n != 1时,f[m, n] = f[m-1, n] + f[m, n-1]
当m == 1且n != 1时,f[m, n] = f[m, n-1]
当m != 1且n == 1时,f[m, n] = f[m-1, n]
当m == 1且n == 1时, f[m, n] = 1
注意要用一个数组将结果保存起来,否则大量的重复计算会造成TLE。
代码如下:
#define maxn 105int f[maxn][maxn];int uniquePaths(int m, int n) { if(f[m][n]) return f[m][n]; if(m == 1 && n == 1) return 1; else if(m == 1) f[m][n] = uniquePaths(m, n - 1) ; else if(n == 1) f[m][n] = uniquePaths(m - 1, n) ; else f[m][n] = uniquePaths(m - 1, n) + uniquePaths(m, n - 1); return f[m][n];}
0 0
- LeetCode 62 Unique Paths(记忆化搜索)
- *LeetCode 62. Unique Paths 记忆化搜索 or 组合数学
- LeetCode(62)Unique Paths
- Leetcode(62)Unique Paths
- [leetcode 62] Unique Paths
- LeetCode(62): Unique Paths
- [LeetCode 62]Unique Paths
- leetcode || 62、Unique Paths
- Unique Paths - LeetCode 62
- leetcode-62 Unique Paths
- Leetcode[62]-Unique Paths
- leetcode 62:Unique Paths
- Leetcode #62 Unique Paths
- leetcode 62: Unique Paths
- Leetcode#62||Unique Paths
- LeetCode 62: Unique Paths
- 【leetcode】【62】Unique Paths
- leetcode #62 Unique Paths
- 产生冠军(杭电ACM2094)
- 登陆mysql出现“mysql error number 1045”
- instanceof
- CSS中设置border属性为0与none的区别
- 随机数生成与排序
- LeetCode 62 Unique Paths(记忆化搜索)
- html创建定义列表
- 软件中的1、同步调用;2、回调;3、异步调用
- vs2008 控制台程序在win2000上无法运行的 提示缺少dll等问题
- 图例详解那道 setTimeout 与循环闭包的经典面试题
- android 再按一次退出程序
- JS事件--事件处理程序之DOM2事件处理程序
- react-native-prompt
- 剖析Docker文件系统:Aufs与Devicemapper