python - 最小路径总和中的 UnboundLocalError

标签 python algorithm

我正在尝试在 leetcode 中解决这个问题。我是 leetcode 的新手。我收到 UnboundLocalError: local variable 'i' referenced before assignment。
unboundlocalError 究竟是什么意思?

class Solution:

    def minCostPath(self, arr):
        n = len(arr) # row 
        m = len(arr[0]) # colum
        dp = [[0 for i in range(n)] for j in range(m)]
        dp[0][0] = arr[0][0]
        for i in range(1, m):
            dp[i][0] = dp[i-1][0] + arr[i][0]
        for j in range(1, n):
            dp[0][j] = dp[0][j-1] + arr[0][j]
        for i in range(1, m):
            for j in range(1, n):
                dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + arr[i][j]

        return dp[i][j]

最佳答案

我们也可以在没有额外空间的情况下解决问题(有点):

class Solution:
    def minPathSum(self, grid):
        row_length, col_length = len(grid), len(grid[0])
        for row in range(1, row_length):
            grid[row][0] += grid[row - 1][0]

        for col in range(1, col_length):
            grid[0][col] += grid[0][col - 1]

        for row in range(1, row_length):
            for col in range(1, col_length): 
                grid[row][col] += min(grid[row - 1][col], grid[row][col - 1])

        return grid[-1][-1]

关于python - 最小路径总和中的 UnboundLocalError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63783309/

相关文章:

python - Plotly Scattermapbox : Is there a way to include some text above and below the markers?

sql - 重叠期 - 合并成一个连续的时间序列

python - 在Python中为游戏添加计分时钟

python - 正则表达式解析 URL 的一部分

python - Django休息框架: how to get the current superuser in serialize?

algorithm - 人工地平线的正确翻译

ruby - 按子数组中的三个项目排序

python - 如何使用 Julia 查找矩阵中的连通分量

algorithm - 如何在 Haskell 中编写 N 元树遍历函数

python - .gitignore 样式 fnmatch()