LintCode_114 不同的路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LintCode_114 不同的路径相关的知识,希望对你有一定的参考价值。
题目
有一个机器人的位于一个M×N个网格左上角(下图中标记为‘Start‘)。
机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角(下图中标记为‘Finish‘)。
问有多少条不同的路径?
注意事项
n和m均不超过100
样例
1,1 | 1,2 | 1,3 | 1,4 | 1,5 | 1,6 | 1,7 |
2,1 | ||||||
3,1 | 3,7 |
以上3 x 7的网格中,有多少条不同的路径?
思路
dp的思路来解决
dp[0][j] = 1;
dp[i][0] = 1;
dp[i][j] = dp[i-1][j] + dp[i][j-1];
空间复杂度可以降低到O(n)
dp[i] = dp[i] + dp[i-1];
C++代码
1 int uniquePaths(int m, int n) { 2 // wirte your code here 3 vector<int> dp(n,1); 4 for(int i = 1; i < m; ++i) 5 { 6 for(int j = 1; j < n; ++j) 7 { 8 dp[j] += dp[j - 1]; 9 } 10 } 11 return dp[n - 1]; 12 }
以上是关于LintCode_114 不同的路径的主要内容,如果未能解决你的问题,请参考以下文章