最小路徑和

2021-08-15 13:54:56 字數 776 閱讀 5538

給定乙個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。

注意事項

你在同一時間只能向下或者向右移動一步

這道題和之前做的一道三角形的動態規劃差不多,但是更難一些,

例a b c     

d e f    

g h i

如果要到i就必須從f 或h走,只要選出其中較小的即可,再用遞迴算出走每乙個格的最小數即可,但第一行第一列特殊處理

class solution:

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

@return: an integer, minimizes the sum of all numbers along its path

"""def minpathsum(self, grid):

l1 = len(grid)

l2 = len(grid[0])

for i in range(1,l1):

grid[0][i] += grid[0][i - 1]

for j in range(1,l2):

grid[j][0] += grid[j - 1][0]

for i in range(1,l1):

for j in range(1,l2):

grid[i][j] += min(grid[i - 1][j],grid[i][j - 1])

return grid[l1 - 1][l2 -1]

最小路徑和

給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和最小。1 動態規劃 1,要明白上邊界線的點只能由它的上乙個點向右移...

最小路徑和

題目 給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。示例 輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和最小。動態規劃 用乙個dp m n 表示從開始點到該點...

最小路徑和

給定乙個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。說明 每次只能向下或者向右移動一步。示例 輸入 1,3,1 1,5,1 4,2,1 輸出 7 解釋 因為路徑 1 3 1 1 1 的總和最小。看到這一題,第一想法是求2x2的正方形的對角線元素,先...