我试图理解这个使用递归来查找二叉树中最大路径的代码:
l
我不明白这将如何找到最大路径。当它以递归方式调用自身时,会不断将r
和ls
重置为0,将rs
和None
重置为l = max(l, 0)
。
编辑:
正如所建议的那样,我在一个简单的二叉树上测试了它,其中5作为根,LC:2和RC:3,节点3也有LC:4。
我得到了以下结果:(在r = max(r, 0)
和l = max(l, 0)
行之后打印:
iteration1:l = 2,ls = 2,r = 0,rs =无
iteration2:l = 4,ls = 4,r = 0,rs =无
iteration3:l = 2,ls = 2,r = 7,rs = 7
从某种意义上说 - 它设法将最大一边和为12,最大路径总和为14(这是正确的)。即使在使用数字后,我也不明白代码是如何得出答案的。
此部分代码的重点是什么:select distinct a. patient_id
from mytable a inner join mytable b
on a.patient_id=b.patient_id
where a.cpt_code='2022F' and b.cpt_code='3060F'
- 我删除了它并且答案保持不变?
来源:https://discuss.leetcode.com/topic/27059/12-lines-of-python-code-fast-and-easy-to-understand