![]() |
1
14
也许就这么简单:
它比人们乍一看所想的要复杂得多。考虑以下树:
在这种情况下,根节点甚至不在最长路径中(
因此,您必须执行以下操作:对于每个节点
然后,决定哪个组合使路径长度最大化:
|
![]() |
2
12
正确的算法是:
因为我不明白你到底在说什么。你能用手举一个例子吗?还是试着更好地解释?这样你就可以更好地理解它是否正确。 您似乎在尝试一个递归实现,基本上与刚才为二叉树简化的实现相同。但是,对于这个问题,您的代码似乎相当复杂。检查讨论 here 更简单的实现。 |
![]() |
3
2
|
![]() |
4
2
|
![]() |
5
2
|
![]() |
6
2
考虑到@phimuemue示例和@IVlad solution,我决定亲自检查一下,下面是我在python中对@IVlad solution的实现:
|
![]() |
7
1
我觉得你把事情搞得太复杂了。
弄清楚之后,检查树递归推理如下:
|
![]() |
8
1
如果,对于每个节点
对于每个终端节点(具有
现在,每个节点的h
(您需要找出是什么替换了两个“?”占位符。有一些选择使这一战略奏效。我亲自测试过。)
那么,
为了提高效率,您可以使用 memoization 或者将其转换为使用堆栈的非递归计算。 |
![]() |
9
1
嗯,如果我已经正确地理解了你的问题,这里是我的解决方案[但是在C++中(对不起)]:
|
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 7 月前 |