【发布时间】:2017-02-11 17:16:03
【问题描述】:
我知道使用 递归 方法来展平嵌套数组。 stackoverflow 上有几种解决方案(java 和 javascript - 一些使用内置库)。
但是这些解决方案的时间复杂度是 O(n^2)! 我想知道是否有一种算法可以做得更好。
提前感谢您的帮助!
【问题讨论】:
-
它们看起来像 O(n),其中 n 是元素的数量。我不知道你会如何变得更好。
-
你指的是数组的 n 维吗?但如果 n 是元素的数量,则它被认为是 O(n)
-
您链接的那个 JavaScript 问题中“亚当”的答案是线性的,而不是二次的。 @VinceEmigh 如果在线性时间内完成它是微不足道的,这是不合理的:)
-
@PeterLawrey 使用某种数组连接函数的版本并不是真正的线性,但是如果您忽略动态大小数组的成本,通过构建单个累加器数组来实现它是线性的。
标签: javascript java arrays algorithm