这是一道典型的动态规划问题,所以解法上就是如何去运用动态方程去解
动态方程:
解法一:直接递归函数:
class Solution:
def uniquePaths(self, m: int, n: int) -> int:
import functools
@functools.lru_cache(None)
def fuc(m,n):
if m == 1 or n == 1:
return 1
return fuc(m-1,n) + fuc(m,n-1)
return fuc(m,n)
解法二:利用数组记录:
class Solution:
def uniquePaths(self, m: int, n: int) -> int:
cur = [1] * n
for i in range(1, m):
for j in range(1, n):
cur[j] += cur[j-1]
return cur[-1]