我在“helper”函数之外声明了一个变量“gmax”。 我在辅助函数中做了“全局 gmax”。 但它仍然说变量 gmax 未定义。
class Solution:
def minimumTotal(self, triangle: List[List[int]]) -> int:
gmax = float('inf')
def helper(row,col,cur_sum):
global gmax
if row==len(triangle):
if gmax > cur_sum:
gmax = cur_sum
return
val1 = triangle[row][col]
val2 = triangle[row][col+1] if col+1<len(triangle[row]) else float('inf')
cur_sum += min(val1,val2)
idx = col if val1<val2 else col+1
helper(row+1, idx, cur_sum)
helper(0,0,0)
return gmax
输出显示“第 7 行:名称 'gmax' 未定义”
最佳答案
它在gmax
离开类时运行。
gmax = float('inf') # global variable is outside
class Solution:
def minimumTotal(self, triangle: List[List[int]]) -> int:
def helper(row, col, cur_sum):
global gmax
if row == len(triangle):
if gmax > cur_sum:
gmax = cur_sum
return
val1 = triangle[row][col]
val2 = triangle[row][col + 1] if col + 1 < len(triangle[row]) else float('inf')
cur_sum += min(val1, val2)
idx = col if val1 < val2 else col + 1
helper(row + 1, idx, cur_sum)
helper(0, 0, 0)
return gmax
关于python - 即使使用全局变量也未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58140419/