703 資料流中的第K大元素

2021-08-28 14:11:19 字數 1019 閱讀 2330

設計乙個找到資料流中第k大元素的類(class)。注意是排序後的第k大元素,不是第k個不同的元素。

你的 kthlargest 類需要乙個同時接收整數 k 和整數陣列nums 的構造器,它包含資料流中的初始元素。每次呼叫 kthlargest.add,返回當前資料流中第k大的元素。

示例:

int k = 3;

int arr = [4,5,8,2];

kthlargest kthlargest = new kthlargest(3, arr);

kthlargest.add(3); // returns 4

kthlargest.add(5); // returns 5

kthlargest.add(10); // returns 5

kthlargest.add(9); // returns 8

kthlargest.add(4); // returns 8

說明:

你可以假設 nums 的長度≥ k-1 且k ≥ 1。

分析:用vector儲存k個最大的數,並從小到大排序,新增的數判斷是否大於vector中最開始的數,是則刪去這個數,並從後往前找這個數應該在的位置。

class kthlargest 

sort

(nnums.

begin()

,nnums.

end())

;}intadd

(int val)

else}}

return nnums[0]

;}};

/** * your kthlargest object will be instantiated and called as such:

* kthlargest obj = new kthlargest(k, nums);

* int param_1 = obj.add(val);

*/

703 資料流中的第K大元素

設計乙個找到資料流中第k大元素的類 class 注意是排序後的第k大元素,不是第k個不同的元素。你的kthlargest類需要乙個同時接收整數k和整數陣列nums的構造器,它包含資料流中的初始元素。每次呼叫kthlargest.add,返回當前資料流中第k大的元素。示例 int k 3 int ar...

703 資料流中的第K大元素

設計乙個找到資料流中第k大元素的類 class 注意是排序後的第k大元素,不是第k個不同的元素。你的kthlargest類需要乙個同時接收整數k和整數陣列nums的構造器,它包含資料流中的初始元素。每次呼叫kthlargest.add,返回當前資料流中第k大的元素。示例 int k 3 int ar...

703 資料流中的第K大元素

題目 設計乙個找到資料流中第k大元素的類 class 注意是排序後的第k大元素,不是第k個不同的元素。你的 kthlargest 類需要乙個同時接收整數 k 和整數陣列nums 的構造器,它包含資料流中的初始元素。每次呼叫 kthlargest.add,返回當前資料流中第k大的元素。示例 int k...