Leetcode練習(Python):數組類:第64題:給定一個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。 說明:每次只能向下或者向右移動一步。


題目:
給定一個包含非負整數的 m x n 網格,請找出一條從左上角到右下角的路徑,使得路徑上的數字總和為最小。  說明:每次只能向下或者向右移動一步。
思路:
本題較簡單。
程序:
class Solution:
    def minPathSum(self, grid: List[List[int]]) -> int:
        row = len(grid)
        if row <= 0:
            return 0
        if row == 0 and column == 0:
            return grid[0][0]
        column = len(grid[0])
        result = [[0] * (column) for _ in range(row)]
        if row >= 1 and column >= 1:
            result[0][0] = grid[0][0]
            for index2 in range(1, column):
                result[0][index2] = grid[0][index2 - 1] + grid[0][index2]
                grid[0][index2] = result[0][index2]
            for index1 in range(1, row):
                result[index1][0] = grid[index1 - 1][0] + grid[index1][0]
                grid[index1][0] = result[index1][0]
        for index3 in range(1, row):
            for index4 in range(1, column):
                result[index3][index4] = min((result[index3 - 1][index4] + grid[index3][index4]),(result[index3][index4 - 1] + grid[index3][index4]))
        return result[-1][-1]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM