Leetcode62. 不同路径(dp)
Posted !0 !
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode62. 不同路径(dp)相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/unique-paths/
解题思路
这是一道很简单的动态规划题。我们要到达左下角[m,n]
的路径总和等于到达[m - 1, n]
的路径总和加上到达[m, n - 1]
的路径总和。需要注意当n = 0
或者m = 0
时只有一种路径可以到达。
代码
class Solution {
public int uniquePaths(int m, int n) {
int[][] p = new int[m][n];
for(int i = 0; i < m; i++) //初始化
p[i][0] = 1;
for(int i = 0; i < n; i++) //初始化
p[0][i] = 1;
for(int i = 1; i < m; i++)
for(int j = 1; j < n; j++)
p[i][j] = p[i][j - 1] + p[i - 1][j]; //计算路径总和
return p[m - 1][n - 1];
}
}
复杂度分析
- 时间复杂度:O(n * m)
- 空间复杂度:O(n * m)
以上是关于Leetcode62. 不同路径(dp)的主要内容,如果未能解决你的问题,请参考以下文章
⭐算法入门⭐《动态规划 - 路径DP》中等01 —— LeetCode 62. 不同路径