题解 | #农场最大产奶牛群#

农场最大产奶牛群

https://www.nowcoder.com/practice/16d827f124e14e05b988f3002e7cd651

  • 题目考察的知识点 : 二叉树的遍历,递归
  • 题目解答方法的文字分析:
  1. 初始化结果值res为0对每个节点进行深度优先遍历,并计算从该节点出发能够收获到的最大产奶量。对于每个节点node,计算从左右子节点出发能够收获到的最大产奶量left和right,然后将其加上node的产奶量得到当前节点的最大产奶量value
  2. 由于不能回头,所以在更新结果值res的时候需要加上left和right。最后返回最大产奶量即可。
  • 本题解析所用的编程语言:Python
  • 完整且正确的编程代码

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param root TreeNode类
# @return int整型
#
class Solution:
    def __init__(self):
        self.res = 0

    def maxMilkSum(self, root: TreeNode) -> int:
        if not root:
            return 0
        self.dfs(root)
        return self.res

    def dfs(self, node: TreeNode) -> int:
        if not node:
            return 0
        left = self.dfs(node.left)
        right = self.dfs(node.right)
        self.res = max(self.res, left + right + node.val)
        return max(left, right) + node.val
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

06-13 12:13
已编辑
东北大学 射频工程师
26毕业的,日常实习还能找到吗
求实习的青提很想去大厂:目前应该还有hc吧,腾讯感觉还有hc,最近捞了我好几次,因为目前有offer,所以不准备面了,可以再找找,不行的话就找找中小厂试试,因为我之前也找了好久,准备放弃了,结果有个岗位流程特别顺利,然后就oc,只能说坚持下试试,万一呢💪
点赞 评论 收藏
分享
04-17 10:16
门头沟学院 Java
小浪_coder:24届很难找了,马上25的都毕业了还有很多没找到的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务