Full implementation: LeetCode 62 Solution
def uniquePaths(m, n):
# Create DP table
dp = [[1] * n for _ in range(m)]
# Fill table using recurrence
for i in range(1, m):
for j in range(1, n):
dp[i][j] = dp[i-1][j] + dp[i][j-1]
return dp[m-1][n-1]
Time: O(m × n). Space: O(m × n). You can optimize space to O(n) with a 1D array.