简体   繁体   English

即使使用全局变量也未定义

[英]Variable not defined even if global is used

I declared a variable 'gmax' outside of 'helper' function.我在“助手”function 之外声明了一个变量“gmax”。 And I did 'global gmax' inside helper function.我在助手 function 中做了“全局 gmax”。 But still it says variable gmax undefined.但它仍然说变量 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

Output says 'Line 7: name 'gmax' is not defined' Output 说“第 7 行:名称 'gmax' 未定义”

It ran when gmax got out of the class.它在gmax退出 class 时运行。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM