大佬教程收集整理的这篇文章主要介绍了找到具有最大总和的根到叶路径 - 无法比较问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在正在寻找具有最大总和的根到叶路径。我的方法是:
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_sum
和 current_sum
?即使它在比较中返回 true,但不会更新 max_sum
。感谢您的帮助。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的找到具有最大总和的根到叶路径 - 无法比较问题全部内容,希望文章能够帮你解决找到具有最大总和的根到叶路径 - 无法比较问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。