我正在尝试在 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/