def uniquePaths(m, n):
if m < 1 or n < 1:
return
dp = [[]*n for _ in range(m)]
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]
B
def uniquePaths(m, n):
if m < 1 or n < 1:
return
dp = [[]*n for _ in range(m)]
for i in range(m):
dp[i][] = 1
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]
C
def uniquePaths(m, n):
if m < 1 or n < 1:
return
dp = [[]*n for _ in range(m)]
for i in range(m):
dp[i][] = 1
for j in range(n):
dp[][j] = 1
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]
D
def uniquePaths(m, n):
if m < 1 or n < 1:
return
dp = [[1]*n for _ in range(m)]
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]