色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python矩陣最短路徑

矩陣最短路徑問題是一個(gè)經(jīng)典的算法問題,它經(jīng)常被用來(lái)解決路線規(guī)劃、路徑規(guī)劃等問題。在Python中,我們可以使用動(dòng)態(tài)規(guī)劃的方式來(lái)解決這個(gè)問題。

def min_path_sum(matrix):
m, n = len(matrix), len(matrix[0])
for i in range(1, m):
matrix[i][0] += matrix[i-1][0]
for j in range(1, n):
matrix[0][j] += matrix[0][j-1]
for i in range(1, m):
for j in range(1, n):
matrix[i][j] += min(matrix[i-1][j], matrix[i][j-1])
return matrix[-1][-1]

我們可以發(fā)現(xiàn),這個(gè)函數(shù)中使用了三個(gè)for循環(huán)。第一個(gè)循環(huán)是對(duì)于第一列的處理,我們將第一列的每一個(gè)元素使用前一個(gè)元素的值加上當(dāng)前元素的值。第二個(gè)循環(huán)是對(duì)于第一行的處理,我們將第一行的每一個(gè)元素使用前一個(gè)元素的值加上當(dāng)前元素的值。第三個(gè)循環(huán)是對(duì)于除了第一行和第一列之外的元素進(jìn)行處理,我們將當(dāng)前元素的值加上其左邊和上邊元素的最小值。

這個(gè)算法的時(shí)間復(fù)雜度為O(mn),其中m和n分別是矩陣的行數(shù)和列數(shù)。這個(gè)算法的空間復(fù)雜度為O(mn)。

下面是一個(gè)使用這個(gè)函數(shù)進(jìn)行矩陣最短路徑計(jì)算的例子:

matrix = [[1,3,1],[1,5,1],[4,2,1]]
min_path_sum(matrix) # 輸出:7