程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了找到具有最大总和的根到叶路径 - 无法比较问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决找到具有最大总和的根到叶路径 - 无法比较问题?

开发过程中遇到找到具有最大总和的根到叶路径 - 无法比较问题的问题如何解决?下面主要结合日常开发的经验,给出你关于找到具有最大总和的根到叶路径 - 无法比较问题的解决方法建议,希望对你解决找到具有最大总和的根到叶路径 - 无法比较问题有所启发或帮助;

我现在正在寻找具有最大总和的根到叶路径。我的方法是:

def max_sum(root):
    _max = 0
    find_max(root,_max,0)
    return _max

def find_max(node,max_sum,current_sum):
    if not node:
        return 0
    current_sum += node.value
    if not node.left and not node.right:
        print(current_sum,current_sum > max_sum)
        max_sum = max(max_sum,current_sum)
    if node.left:
        find_max(node.left,current_sum)
    if node.right:
        find_max(node.right,current_sum)
    current_sum -= node.value

class TreeNode():
    def __init__(self,_value):
        self.value = _value
        self.left,self.right,self.next = None,None,None

def main():
    root = TreeNode(1)
    root.left = TreeNode(7)
    root.right = TreeNode(9)
    root.left.left = TreeNode(4)
    root.left.right = TreeNode(5)
    root.right.left = TreeNode(2)
    root.right.right = TreeNode(7)

    print(max_sum(root))

    root = TreeNode(12)
    root.left = TreeNode(7)
    root.right = TreeNode(1)
    root.left.left = TreeNode(4)
    root.right.left = TreeNode(10)
    root.right.right = TreeNode(5)

    print(max_sum(root))

main()

带输出:

12 0 True
13 0 True
12 0 True
17 0 True
0
23 0 True
23 0 True
18 0 True
0

Process finished with exit code 0

预期输出为 17 和 23。

我想确认为什么我的方法无法比较 max_sumcurrent_sum?即使它在比较中返回 true,但不会更新 max_sum。感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的找到具有最大总和的根到叶路径 - 无法比较问题全部内容,希望文章能够帮你解决找到具有最大总和的根到叶路径 - 无法比较问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: