Master___Yang 2022-12-23 22:56 采纳率: 100%
浏览 23
已结题

python代码问题

在力扣上刷算法题python代码的问题(力扣1799)
如下代码:

class Solution:
    def maxScore(self, nums: List[int]) -> int:
        def gcd(x,y):
            return x if y == 0 else gcd(y,x%y)
        max_val = 0
        def fun():
            global max_val
            max_val = 1
            return max_val
        print(fun())
        def dfs(line,list,pos,res,max_list):
            
            if line == len(list):
                if len(res) == 3:
                    global max_val
                    print(max_val)
                    if sum(res)>max_val:
                        max_val = sum(res)
                        max_list[:] = res
                        max_list.append(max_val)
                    print(res,pos,max_val,max_list)
                return 
        
            for i in range(0,len(list[line])):
                if line+i+1 not in pos and line not in pos :
                    pos.append(i+line+1)
                    pos.append(line)
                    res.append(list[line][i])
                    dfs(line+1,list,pos,res,max_list)
                    pos.remove(i+line+1)
                    pos.remove(line)
                    res.remove(list[line][i])
            dfs(line+1,list,pos,res,max_list)
        list  = []
        for i in range(0,len(nums)):
            if i+1<len(nums):
                list.append([])
            for j in range(i+1,len(nums)):
                list[i].append(gcd(nums[i],nums[j]))
        print(list)
        ma_list = []
        dfs(0,list,[],[],ma_list)
        goal = 0
        # ma_list.sort()
        print(ma_list)
        for i in range(0,len(ma_list)):
            goal += (i+1)*ma_list[i]
        return goal

    

执行后的结果打印时候,一直都没解决好,上述代码执行后结果为:

img


就是打印的结果为什么是交替执行的?

还有一个问题就是如果我把上面没用的fun函数去掉后,直接报这个错,又是什么问题呢

img

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-12-24 00:54
    关注

    你只要看print语句在哪里就明白了呀,你的fun函数首先就被print调用了一下,给了maxval初始值1,然后在dfs里,print被调用了两次,然后每次递归dfs,都会print两次,所以结果是交替打印的啊。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献