We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 64b8550 commit 865aa45Copy full SHA for 865aa45
1 file changed
find-median-from-data-stream/PDKhan.cpp
@@ -0,0 +1,31 @@
1
+class MedianFinder {
2
+ priority_queue<int> maxHeap;
3
+ priority_queue<int, vector<int>, greater<int>> minHeap;
4
+public:
5
+ MedianFinder() {
6
+ }
7
+
8
+ void addNum(int num) {
9
+ if(maxHeap.empty() || num <= maxHeap.top())
10
+ maxHeap.push(num);
11
+ else
12
+ minHeap.push(num);
13
14
+ if(maxHeap.size() > minHeap.size() + 1){
15
+ minHeap.push(maxHeap.top());
16
+ maxHeap.pop();
17
+ }else if(maxHeap.size() < minHeap.size()){
18
+ maxHeap.push(minHeap.top());
19
+ minHeap.pop();
20
21
22
23
+ double findMedian() {
24
+ if(maxHeap.size() > minHeap.size())
25
+ return maxHeap.top();
26
+ else if(maxHeap.size() < minHeap.size())
27
+ return minHeap.top();
28
29
+ return (maxHeap.top() + minHeap.top()) / 2.0;
30
31
+};
0 commit comments