LeetCode 62: Unique Paths (my dynamic programming solution)

Python Solution:

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        #basic pattern:
        #dp[x][y]=dp[x-1][y]+dp[x][y-1]
        #corner cases
        
        dp = [[0] * n for _ in range(m)]
        
        #For first column, only one path: down->down->...
        for row in range(0,m):
            dp[row][0]=1
            
        #For first row, only one path: right->right->...            
        for column in range(0,n):
            dp[0][column] = 1

        for row in range(1, m):
            for column in range(1, n):
                dp[row][column] = dp[row - 1][column] + dp[row][column - 1]

        return dp[m - 1][n - 1]
    
    #Time complexity: O(mn)
    #Space complexity: O(mn)

 

Time Complexity: O(mn)

Space Complexity: O(mn)


Feeling tired? You can also try our free online no-installation required casual games: Here Please consider to follow my youtube channel to support me: