class Solution(object):
def uniquePathsWithObstacles(self, obstacleGrid):
"""
:type obstacleGrid: List[List[int]]
:rtype: int
"""
n=len(obstacleGrid)
m=len(obstacleGrid[0])
dp=[[0]*m for i in range(n)]#dp二维数组,只保存当前格走法数
dp[0][0]=1
for i in range(n):
for j in range(m):
if obstacleGrid[i][j]==1:
dp[i][j]=0
else:
if i==0 and j==0:
pass
elif j==0:#上顶格
dp[i][j]=dp[i-1][j]
elif i==0:#左顶格
dp[i][j]=dp[i][j-1]
else:
dp[i][j]=dp[i-1][j]+dp[i][j-1]
return dp[-1][-1]
leetcode 第63题 不同路径II 动态规划(DP)
最新推荐文章于 2024-08-05 15:41:47 发布