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. 不同路径

LeetCode 62 不同路径

Leetcode之动态规划(DP)专题-63. 不同路径 II(Unique Paths II)

62. 不同路径 -LeetCode

LeetCode 62. 不同路径c++/java详细题解

leetcode 每日一题 62. 不同路径