第k大元素

2021-07-27 14:51:44 字數 447 閱讀 5790

在陣列中找到第k大的元素

最先想到的是簡單排序,但是簡單排序超時,於是想到改造快排,快排的思想是每次確定乙個元素在陣列中的下標,如果確定的下標為k那該元素為k大,若下標大於k,第k大在改下標之前.

class

solution

public

int pat(int nums,int start,int end,int k)else

if(index>k)else

}public

int qsort(int nums,int start,int end)

end--;

}while(startif(nums[start]break;

}start++;}}

nums[start]=head;

return start;

}};

第K大元素

在陣列中找到第k大的元素。給出陣列 9,3,2,4,8 第三大的元素是4 給出陣列 1,2,3,4,5 第一大的元素是5,第二大的元素是4,第三大的元素是3,以此類推 要求時間複雜度為o n 空間複雜度為o 1 如果不考慮時間複雜度和空間複雜度,這道題目有很多種方法,利用一種排序演算法將陣列倒敘排序...

5 第k大元素

2017.9.14 昨天做了一整天的題。首先使用了氣泡排序,我知道會超時。但還是做了一遍,心想複習一下舊的知識也是極好的。於是,果然超時了。但是毫不氣餒。想,要不用快速排序試一試。但是自作聰明的以為這題一定是在考堆排序。然而堆排序是我最不會的排序方式,但還是下定決心開始學習。好不容易學會了之後,果然...

5 第k大元素

題目描述 在陣列中找到第k大的元素 樣例 給出陣列 9,3,2,4,8 第三大的元素是 4 給出陣列 1,2,3,4,5 第一大的元素是 5,第二大的元素是 4,第三大的元素是 3,以此類推 挑戰 要求時間複雜度為o n 空間複雜度為o 1 注意事項 你可以交換陣列中的元素的位置 1.使用選擇排序進...