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: