- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编写一个程序来查找二叉搜索树中一对节点的最低公共(public)祖先(假定元素存在于树中)。我的逻辑是:
然而,Algos 在线发现(http://leetcode.com/2011/07/lowest-common-ancestor-of-a-binary-search-tree.html)改变了第 2 步,在这种情况下,它们在右子树上递归,因此对于以下树:
2
/ \
1 4
/ \
3 5
然后输入3和5,我的算法给出 2,而其他算法给出 4 作为输出。
那么,是我理解 LCA 的定义错误(因为 2 小于 4 并且是共同祖先)还是我的 Algo 正确。
最佳答案
T 中 v 和 w 的 LCA 是距离根最远的 v 和 w 的共享祖先。因此,在线版本是正确的,与您的理解不同。
看看这个 LCA definition
如果你愿意,你也可以避免递归。只需从您的候选者追踪路由回到根节点。第一个公共(public)节点是LCA
关于algorithm - 我的最低共同祖先算法给出了与在线找到的其他算法不同但逻辑上正确的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182972/
所以,我有一个类似于 this one 的用例,但我觉得有一些额外的细节值得提出一个新问题。 ( related questions ,供引用) 我正在编写一个实现 a cycle 的数据结构.基本设
我正在使用 Django 编写一个社交网络应用程序,需要实现类似于 Facebook“Mutual Friends”概念的功能。我有一个像这样的简单模型: class Friend(models.Mo
我有一个 iOS 应用程序,用户可以在其中使用 Facebook 登录并授予 user_friends 权限。从 Graph API 2.0 开始,Facebook 声称你无法获取两个人之间所有的共同
我想知道将来对我来说最简单的方法是什么,可以使查询既有效又不那么复杂。 我应该像这样保存双向关系吗 from_id=1, to_id=2from_id=2, to_id=1 或者只创建一个唯一的行 f
我是一名优秀的程序员,十分优秀!