可能重複:
Can you sort n integers in O(n) amortized complexity?計算澳第90百分位數(n)的時間
我必須寫一個給定的整數未排序的算法,則返回「最低文件中的數字至少超過文件中90%的數字「,如果不存在這樣的數字,則爲-1。足夠簡單:我使用合併排序對列表進行排序,然後從90%的索引處開始,並查找第一個數字,使其大於之前的數字。
問題的第2部分已經得到了我雖然難住了。我們得到更多的信息:整數代表薪水,意味着他們都是積極的,其中絕大多數都低於100萬。顯然,有了這些額外的信息,就有可能編寫一個算法來解決O(n)時間中的原始問題,但我沒有絲毫的線索知道這是可能的。有任何想法嗎?
我會寄我到目前爲止已經做了,但我一直沒能拿出任何東西。
所有元素有一個選擇算法可以用於此。擡頭看看Cormen。還有用於排序的線性時間算法。 –