62. Unique Paths
来源:互联网 发布:轮滑培训班软件 编辑:程序博客网 时间:2024/06/05 03:09
这道题是二维的上楼梯。也是非常典型的dp题。
最规整的解法就是新建一个二维数组,初始化第一行第一列为1,然后任意一个空格就是他左边和上边的值的和。
有一个小点的注意,如果初始化memo数组为1.可以省去一些步骤。另外注意不要吃书画的时候神使鬼差memo[i][0]=i
int uniquePaths(int m, int n) { vector<vector<int> > memo(n,vector<int>(m,1)); /*for(int i=0;i<n;++i) memo[i][0]=1; for(int i=1;i<m;++i) memo[0][i]=1;*/ for(int i=1;i<n;++i){ for(int j=1;j<m;++j) memo[i][j]=memo[i-1][j]+memo[i][j-1]; } return memo[n-1][m-1]; }
既然上楼梯可以做到O(1)空间复杂度,同理这道题也可以。当我们遍历到第i行的时候,以前的值都可以舍弃掉。
int uniquePaths(int m, int n) { vector<int> memo(n,1); for(int i=1;i<m;++i){ for(int j=1;j<n;++j) memo[j]+=memo[j-1]; } return memo[n-1]; }要搞清楚空间上到底是更新之前二维memo的行还是列,返回m还是n
0 0
- 62. Unique Paths && 63. Unique Paths II
- 62. Unique Paths \ 63. Unique Paths II
- [LeetCode]62.Unique Paths
- LeetCode --- 62. Unique Paths
- LeetCode 62.Unique Paths
- [Leetcode] 62. Unique Paths
- [leetcode] 62.Unique Paths
- 62. Unique Paths
- [leetcode] 62.Unique Paths
- leetcode 62. Unique Paths
- Leetcode 62. Unique Paths
- [leetcode] 62. Unique Paths
- 62. Unique Paths LeetCode
- 62. Unique Paths
- 62. Unique Paths
- [LeetCode]62. Unique Paths
- 【LeetCOde】62. Unique Paths
- [LeetCode]62. Unique Paths
- 配置错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的
- Andorid 点击按钮事件叠加时候的事件分析。
- Activity启动模式launchMode
- C语言if语句
- 数据库连接池类
- 62. Unique Paths
- 算法学习笔记(一)-算法基础
- java 面向对象之继承extends
- 智慧石的链接
- Struts2.3+Spring3.2.8+Hibernate4.1全注解配置
- 二进制炸弹(第二次实验)
- MySQL表名不区分大小写的设置方法
- 【akMOOC】1-1Nice to meet you!
- 将二叉树拆成链表