lintcode練習 115 不同的路徑 II

2021-08-25 05:17:19 字數 1063 閱讀 4667

"不同的路徑" 的跟進問題:

現在考慮網格中有障礙物,那樣將會有多少條不同的路徑?

網格中的障礙和空位置分別用 1 和 0 來表示。

如下所示在3x3的網格中有乙個障礙物:

[

[0,0,0],

[0,1,0],

[0,0,0]

]

一共有2條不同的路徑從左上角到右下角。

m 和 n 均不超過100

如注釋,動態規劃類的題,最主要的是思路,想明白了就很好實現,**量很少

class solution:

"""@param obstaclegrid: a list of lists of integers

@return: an integer

"""def uniquepathswithobstacles(self, obstaclegrid):

# write your code here

n = len(obstaclegrid)

m = len(obstaclegrid[0])

dp = [[0] * m for _ in range(n)]

#如果遇到障礙就返回,後面的路也不能走了

for i in range(n):

if obstaclegrid[i][0] == 1:

break

dp[i][0] = 1

#如果遇到障礙就返回,後面的路也不能走了

for i in range(m):

if obstaclegrid[0][i] == 1:

break

dp[0][i] = 1

#如果遇到障礙就返回,該格代表的路徑和就為0

for i in range(1, n):

for j in range(1, m):

if obstaclegrid[i][j] == 1:

continue

dp[i][j] = dp[i][j-1] + dp[i-1][j]

return dp[n-1][m-1]

lintCode 115 不同的路徑

問題描述 不同的路徑 的跟進問題 現在考慮網格中有障礙物,那樣將會有多少條不同的路徑?網格中的障礙和空位置分別用 1 和 0 來表示。如下所示在3x3的網格中有乙個障礙物 0,0,0 0,1,0 0,0,0 一共有2條不同的路徑從左上角到右下角。思路 由於部分格仔有障礙物,不能訪問到,需要對左上角和...

lintcode 115 不同的路徑 II

不同的路徑 ii 不同的路徑 的跟進問題 現在考慮網格中有障礙物,那樣將會有多少條不同的路徑?網格中的障礙和空位置分別用 1 和 0 來表示。注意事項 m 和 n 均不超過100 您在真實的面試中是否遇到過這個題?yes樣例如下所示在3x3的網格中有乙個障礙物 0,0,0 0,1,0 0,0,0 一...

115 不同的路徑

原題 現在考慮網格中有障礙物,那樣將會有多少條不同的路徑?網格中的障礙和空位置分別用 1 和 0 來表示。m 和 n 均不超過100 您在真實的面試中是否遇到過這個題?是 0,0,0 0,1,0 0,0,0 一共有2條不同的路徑從左上角到右下角。標籤陣列 動態規劃 dp 思路 方法同不同的路勁類似,...