python--查找數組第K大的數

這個問題應該是比較經典的,要求能在時間複雜度O(n)解決。python 最暴力的方法固然是先排個序,時間複雜度是O(nlogn),可是這樣浪費了不少沒必要要的計算。算法 O(n)的算法思想借鑑了快排的思想:數組 快速排序每次把一個元素交換到正確的位置,同時把左邊的都放上大的,右邊都放上小的。這個算法每一次選取一個樞紐元,排序以後,查看樞紐元的位置。若是它的位置大於K,就說明,要求出前面一個子序列的
相關文章
相關標籤/搜索