以最有效的方式在数组中查找第二个最大值

Mr_Hmp

我试图以最有效的方式在空间和时间复杂度方面找到数组中的第二个最大值,但是我有两个主要问题:

1.时间复杂度:

天真的或蛮力的方法将需要两次通过才能找到最小的元素,因此O(n)的复杂性。如果我对数组进行排序,则它将花费O(n 2)。

2.空间复杂度:

我总是可以使用BST进行O(log(n))排序,但是它们将需要额外的空间来维护树,我还可以创建一个堆并执行两次删除操作,我将获得第二个最大的元素,但是在此还创建了堆并存储在内存中。

我在这里有什么选择?

亚当

您可以一口气完成此操作。只需保留两个变量,即最大和第二个最大。每次更新最大值时,旧的最大值都会变成新的第二个最大值。

这可以归结为Top-k算法,您可以在其中k使用一遍和O(k)空间找到最大(或最小)的元素。就你而言k=2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数组中查找第二个正值

来自分类Dev

使用mysql查询在表中查找第二个最大值

来自分类Dev

使用mysql查询在表中查找第二个最大值

来自分类Dev

在数组中查找最小值和最大值的有效方法

来自分类Dev

在第二个表中存在ID的地方选择行的最有效方法

来自分类Dev

根据第二个列表(元组)中的值有效过滤 python 列表

来自分类Dev

有什么功能可以找到二维数组中的第二个最小值或最大值?

来自分类Dev

如何从R中的循环的输出中从创建的循环中查找第二个最大值

来自分类Dev

在数组的数组中查找第一个元素,第二个元素的值最高

来自分类Dev

在没有第二个变量的情况下获得数组的最大值?

来自分类Dev

MySQL:获取列中第二个数字最大值的最佳方法?没有查询限制

来自分类Dev

从乘以表示的第二个变量中提取具有最大值的行

来自分类Dev

sql 数据库,有多个 where,第二个最大值

来自分类Dev

Tableau计算字段中的第二个最大值

来自分类Dev

如何有效地过滤由两列 groupby 操作获得的数据框以仅包含第二个索引的最大值和最小值?

来自分类Dev

C ++:在数组中查找第二个max元素

来自分类Dev

如何有效地将向量对按第二个值分组?

来自分类Dev

查找没有第二个值的值

来自分类Dev

为什么 long 在查找三个整数的第二个最大值时显示错误的输出?

来自分类Dev

查找数组中的第二个最小整数

来自分类Dev

如何从表中查找第二个值。

来自分类Dev

第二个表中的查找值

来自分类Dev

如何有效地过滤一个numpy数组,使其包含第二个数组中包含的行

来自分类Dev

在C ++中查找数组的最小和第二个最小值

来自分类Dev

仅当特定索引是有效数字时,如何用第二个数组覆盖数组?

来自分类Dev

查找大于第二个列表中元素的列表索引的有效解决方案

来自分类Dev

左连接表的最大值和第二个表中的其他列

来自分类Dev

如何在R中的栅格堆栈中找到第二个最大值和相应的图层名称

来自分类Dev

SQL Server:每组第二个最大值

Related 相关文章

  1. 1

    在数组中查找第二个正值

  2. 2

    使用mysql查询在表中查找第二个最大值

  3. 3

    使用mysql查询在表中查找第二个最大值

  4. 4

    在数组中查找最小值和最大值的有效方法

  5. 5

    在第二个表中存在ID的地方选择行的最有效方法

  6. 6

    根据第二个列表(元组)中的值有效过滤 python 列表

  7. 7

    有什么功能可以找到二维数组中的第二个最小值或最大值?

  8. 8

    如何从R中的循环的输出中从创建的循环中查找第二个最大值

  9. 9

    在数组的数组中查找第一个元素,第二个元素的值最高

  10. 10

    在没有第二个变量的情况下获得数组的最大值?

  11. 11

    MySQL:获取列中第二个数字最大值的最佳方法?没有查询限制

  12. 12

    从乘以表示的第二个变量中提取具有最大值的行

  13. 13

    sql 数据库,有多个 where,第二个最大值

  14. 14

    Tableau计算字段中的第二个最大值

  15. 15

    如何有效地过滤由两列 groupby 操作获得的数据框以仅包含第二个索引的最大值和最小值?

  16. 16

    C ++:在数组中查找第二个max元素

  17. 17

    如何有效地将向量对按第二个值分组?

  18. 18

    查找没有第二个值的值

  19. 19

    为什么 long 在查找三个整数的第二个最大值时显示错误的输出?

  20. 20

    查找数组中的第二个最小整数

  21. 21

    如何从表中查找第二个值。

  22. 22

    第二个表中的查找值

  23. 23

    如何有效地过滤一个numpy数组,使其包含第二个数组中包含的行

  24. 24

    在C ++中查找数组的最小和第二个最小值

  25. 25

    仅当特定索引是有效数字时,如何用第二个数组覆盖数组?

  26. 26

    查找大于第二个列表中元素的列表索引的有效解决方案

  27. 27

    左连接表的最大值和第二个表中的其他列

  28. 28

    如何在R中的栅格堆栈中找到第二个最大值和相应的图层名称

  29. 29

    SQL Server:每组第二个最大值

热门标签

归档