查找整数数组中的最高 log(n) 或最高 sqt(n) 值

发布于 2024-12-22 09:44:59 字数 281 浏览 1 评论 0原文

您是否理解这个问题的含义?

在小于线性时间内查找整数数组中的最高 log(n) 或最高 sqt(n) 值。

如果您不这样做,请参阅以下问题 http://www.careercup.com/question?id =9337669

您能否帮助我理解这个问题,然后可能会得到解决。 (虽然一旦我明白了,我也可能会解决它)

感谢您的时间。

Do you understand what this question means

Find top log(n) or top sqt(n) values in an array of integers in less than linear time.

If you don't, here is the question http://www.careercup.com/question?id=9337669.

Could you please help me in understanding this question and then may be get it solved. (Although once i understand i might get it solved too)

Thanks for your time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑看君怀她人 2024-12-29 09:44:59

对于非排序数组,复杂度是线性的,但可以通过观察 log(n) 和 sqrt(n) 都是单调增长函数来提高性能,因此 max(log(n),...) 也是log(max(n,...)) 与 sqrt 相同。

因此,只需找到 max(n) (线性)并计算 log 和 sqrt。

For non sorted array the complexity is linear, but it can be possible to improve the performance by observing that log(n) and sqrt(n) are both monotonic growing function, hence max(log(n),...) is also log(max(n,...)) and same for sqrt.

So just find max(n) (linearly) and calculate log and sqrt.

笑脸一如从前 2024-12-29 09:44:59

假设数组未排序,这个问题是Omega(n),因为您需要读取所有元素[在未排序数组中查找最大值是Omega(n)问题,这个问题并不比求 max 更容易]。因此,它没有次线性解。

使用选择算法O(n) [线性]解决方案

1. find the log(n) biggest element. //or sqrt(n) biggest element...
2. scan the array and return all elements bigger/equal it.

(*)如果数组包含重复项,则此伪代码不正确,但在第二步中修剪重复项相当容易。

Assuming the array is not sorted, This problem is Omega(n), since you need to read all elements [finding max is Omega(n) problem in non-sorted array, and this problem is not easier then finding max]. So, there is no sublinear solution for it.

There is O(n) [linear] solution, using selection algorithm

1. find the log(n) biggest element. //or sqrt(n) biggest element...
2. scan the array and return all elements bigger/equal it.

(*)This pseudo code is not correct if the array contain dupes, but trimming the dupes in a second step is fairly easy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文