1

我在“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’”

4

1 回答 1

0

下课时它就跑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
于 2019-09-28T04:32:41.520 回答