如何在10億數中找出前1000大/小的數?

1、內存空間足夠大 分治法 隨機選一個數flag,而後對整個數組進行分割,會獲得兩部分,前一部分的數都大於flag,後一部分的數都小於flag。ios 示例:web 若是說前一部分總數大於1000個,那就繼續在前一部分進行分割。若是前一部分的數小於1000個,那就在後一部分再進行分割,尋找剩下的數。利用分治法,對左邊或者右邊進行循環分割,直到找夠Top 1000。數組 時間複雜度 :O(N)分佈式
相關文章
相關標籤/搜索