<分区>
Possible Duplicate:
Can you sort n integers in O(n) amortized complexity?
我必须编写一个算法,给定一个未排序的整数列表,返回“文件中至少超过文件中数字 90% 的最小数字”,如果不存在这样的数字,则返回 -1。很简单:我使用归并排序对列表进行排序,然后从 90% 的索引开始,寻找第一个数字大于它之前的数字。
问题的第 2 部分让我感到难过。我们得到了更多信息:整数代表薪水,这意味着它们都是正数,其中绝大多数都在 1,000,000 以下。显然,有了这些额外的信息,就可以编写一个在 O(n) 时间内解决原始问题的算法,但我一点也不知道这是怎么可能的。有什么想法吗?
我会发布我到目前为止所做的一切,但我无法想出任何东西。