T64 最小路径和

桌桌 2022-8-22 146 8/22

T64 最小路径和

解题思路:

得到最后的答案只需要知道上方一个的值和左边位置的值,取其中较小的和当前位置相加,数组除了第一行和第一列之外都是同样的计算方式

第一行只能从左边一路相加过来,第一列只能从上往下一路相加

最后输出数组最后一个值就是到达所在位置的最小值。

代码如下:

class Solution:
    def minPathSum(self, grid: List[List[int]]) -> int:
        m = len(grid)
        n = len(grid[0])

        # 第一列的数字操作
        for i in range(m-1):
            grid[i+1][0] = grid[i][0] + grid[i+1][0]

        # 第一行的数字操作
        for i in range(n-1):
            grid[0][i+1] = grid[0][i] + grid[0][i+1]

        # 除了第一行的和第一列的位置的计算
        for i in range(m-1):
            for j in range(n-1):
                if grid[i+1][j] >= grid[i][j+1]:
                    grid[i+1][j+1] = grid[i][j+1] + grid[i+1][j+1]
                else:
                    grid[i+1][j+1] = grid[i+1][j] + grid[i+1][j+1]

        return grid[m-1][n-1]

结果如下:

- THE END -

桌桌

8月22日00:55

最后修改:2022年8月22日
0

非特殊说明,本博所有文章均为博主原创。