【发布时间】:2015-09-24 10:13:30
【问题描述】:
这个问题可以通过从给定的整数数组中生成 BST 来解决。 BST 中的插入需要 O(logn)。所以 n 次插入将花费 O(nlogn)。然后可以通过仅从根开始遍历最右边的孩子来导出最长的子序列。这最多需要 O9n)。因此,总体时间复杂度将为 O(nlogn)。这是正确的做法吗?
【问题讨论】:
-
你不会只是忘记了过程中元素的原始顺序吗?这怎么可能是远程正确的?
-
@NiklasB 如果不重新平衡树,它的结构将反映原始输入顺序。但我不确定这是否足以解决问题。而且肯定不会是 O(n log n)。
-
娟,不会反映输入顺序!请参阅我的答案以获取反例。
-
@EmilVikström 是的,你是对的。所以这种方法根本没有意义。