classSolution: defuniquePathsWithObstacles(self, obstacleGrid: List[List[int]]) -> int: # 初始化 m,n = len(obstacleGrid),len(obstacleGrid[0]) d = [[ 1for _ inrange(n)] for _ inrange(m)] for i inrange(m): # 边线出现石头,边线后面不可能走。 if obstacleGrid[i][0]==1: while i<m: d[i][0] = 0 i += 1 break for j inrange(n): # 边线出现石头,边线后面不可能走。 if obstacleGrid[0][j]==1: while j<n: d[0][j] = 0 j += 1 break for i inrange(m): # 石头位置 不可能走。 for j inrange(n): if obstacleGrid[i][j]==1: d[i][j] = 0 # print(d) # 遍历 for i inrange(1,m): for j inrange(1,n): if obstacleGrid[i][j]==0: # 没石头才可能走 d[i][j] = d[i-1][j] + d[i][j-1] d[i][j] return d[i][j]