【发布时间】:2016-09-13 03:54:57
【问题描述】:
令 S 是一组存储在数组中的 n 个整数(不一定是排序的)。设计一个算法来找到 S 中的 10 个最大整数(通过创建一个长度为 10 的单独数组来存储这些整数)。您的算法必须在 O(n) 时间内完成。
我想我可以通过使用计数排序然后将最后 10 个元素添加到新数组中来回答这个问题。但显然这是错误的。有谁知道更好的方法吗?
【问题讨论】:
-
在新数组中添加前 10 个数字。然后只需扫描剩余的元素并不断更新新数组。
-
简单,谢谢!
-
等待我不确定这个工作?
标签: arrays algorithm time-complexity