python - 最小路径总和中的 UnboundLocalError
问题描述
我试图在 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]
解决方案
长度为 1 的数组可能会发生这种情况。这是一个更简单的代码版本,它表现出同样的问题:
def func(length):
for i in range(length):
pass
return i
现在考虑:
In [4]: func(1)
Out[4]: 0
In [5]: func(0)
---------------------------------------------------------------------------
UnboundLocalError Traceback (most recent call last)
<ipython-input-5-ba0cd5a88f0a> in <module>
----> 1 func(0)
<ipython-input-3-d98b8e650438> in func(length)
2 for i in range(length):
3 pass
----> 4 return i
5
UnboundLocalError: local variable 'i' referenced before assignment
推荐阅读
- amazon-web-services - Redshift UNLOAD 忽略 DATESTYLE
- asp.net - Firefox中的iframe它是空的,带有aspx页面
- winapi - 每次在窗口中单击鼠标左键时,如何让消息框出现?
- angular - 即使有多个订阅者, concatMap 和 share 也只播放一次可观察的系列
- java - 如何按顺序进行多个 API 调用
- android - 更改主题(暗模式)时采用默认字符串值,如何避免这种情况?
- c# - 使用 ImageSharp 调整级别和颜色
- python - 超级基本的python问题,如何将数据集变量分配为雪花sql查询以进行建模
- php - 在laravel中将uri参数添加到路由名称
- python - 如何使用 .jpg 或 .png 作为背景图片?