求大佬指教 2022-10-18 15:06 采纳率: 78.6%
浏览 20

python:求二叉树的最大路径

查阅了相关博主的资料,但运行出来的都是直接结束进程的。我想要验证数据该怎么搞。

img

  • 写回答

1条回答 默认 最新

  • honestman_ 2022-10-18 16:07
    关注
    
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, val=0, left=None, right=None):
    #         self.val = val
    #         self.left = left
    #         self.right = right
    class Solution:
        def maxPathSum(self, root: TreeNode) -> int:
            
            def dfs(root):
                if not root:
                    return float("-inf"), float("-inf")
                leftToRoot_max, leftNotToRoot_max = dfs(root.left)
                rightToRoot_max, rightNotToRoot_max = dfs(root.right)
                
                #最大根有关路径和
                toRoot_max = max(root.val, leftToRoot_max+root.val, rightToRoot_max+root.val)
                #最大根无关路径和
                notToRoot_max = max(leftToRoot_max+root.val+rightToRoot_max, leftNotToRoot_max, rightNotToRoot_max)
                # print(toRoot_max, notToRoot_max) 
    
                # 返回(最大根有关路径和, 最大路径和)
                return toRoot_max, max(notToRoot_max,toRoot_max)
    
            t, nt = dfs(root)
            return max(t,nt)
                
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月18日

悬赏问题

  • ¥30 靶向捕获探针设计软件包
  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
  • ¥50 paddleocr最下面一行似乎无法识别
  • ¥15 求某类社交网络数据集