leetcode刷題 演算法(2) 排序演算法(下)

2021-10-02 20:21:09 字數 967 閱讀 5004

排序演算法總結(2.11)

kth元素(2.12)

幾種方法,關鍵:堆、快排

還不是很熟練

※2. 出現頻率最多的 k 個元素

桶排序,未作出

※3. 按照字元出現次數對字串排序

同上ok

4. 按顏色進行排序

ok215. kth largest element in an array (medium)

1.	採用庫函式,排序後選元素,時間複雜度o(nlogn),空間複雜度o(1)

int findkthlargest(vector& nums, int k)

2. 堆排序

class solution

nums[i]=tmp;

}int findkthlargest(vector& nums, int k)

return store.top();

}};4. 快排:時間複雜度o(n)

class solution

int partition(vector& nums,int left,int right)

};

347. top k frequent elements (medium)

1. 利用內建排序函式

class solution );

vectorres;

for(int i=0;i&a,pair&b)

vectorres(k);

for(int i=0;itopkfrequent(vector& nums, int k)

vectorres(k);

for(int i=bucket.size()-1;i>=0;i--){

for(int j=0;j451. sort characters by frequency (medium)

解法類似2

75. sort colors (medium)

leetcode刷題 2 排序(待更新)

參考五分鐘學演算法 穩定性 假定在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中,r i r j 且r i 在r j 之前,而在排序後的序列中,r i 仍在r j 之前,則稱這種排序演算法是穩定的 否則稱為不穩定的。相等元素相對位置不變 45...

刷題1 排序1

學python有一段時間了,刷題試試。題 給定兩個字串 s 和 t 編寫乙個函式來判斷 t 是否是 s 的乙個字母異位詞。1.s anagram t nagaram 輸出true 2.s rat t car 輸出false 輸出true需要滿足的條件 1.字串的個數相等 2.元素一樣 故而我的想法是...

刷題(3) 排序(1)

注意 n指資料規模 k指 桶 的個數 in place指占用常數記憶體,不占用額外記憶體 out place指占用額外記憶體 冒泡,插入,歸併排序都是保證穩定性的,其他都不是 現代作業系統很少使用堆排序,因為它無法利用區域性性原理進行快取,也就是陣列元素很少和相鄰的元素進行比較和交換。快速排序是最快...