From 7134a78930c1fa3fd56f590eecd94169a3a29472 Mon Sep 17 00:00:00 2001 From: Jayden12138 <18993882884@163.com> Date: Thu, 25 Apr 2024 11:34:15 +0800 Subject: [PATCH] [fix][javascript] find-median-from-data-stream --- .../solution_code.md" | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git "a/\345\244\232\350\257\255\350\250\200\350\247\243\346\263\225\344\273\243\347\240\201/solution_code.md" "b/\345\244\232\350\257\255\350\250\200\350\247\243\346\263\225\344\273\243\347\240\201/solution_code.md" index 4a577d5958..a5a46bf6f4 100644 --- "a/\345\244\232\350\257\255\350\250\200\350\247\243\346\263\225\344\273\243\347\240\201/solution_code.md" +++ "b/\345\244\232\350\257\255\350\250\200\350\247\243\346\263\225\344\273\243\347\240\201/solution_code.md" @@ -24998,30 +24998,32 @@ class MedianFinder { // by chatGPT (javascript) var MedianFinder = function() { // 小顶堆 - var large = new PriorityQueue(); + var large = new PriorityQueue({ + compare: (a, b) => a - b + }); // 大顶堆 - var small = new PriorityQueue(function(a, b) { - return b - a; + var small = new PriorityQueue({ + compare: (a, b) => b - a }); this.findMedian = function() { // 如果元素不一样多,多的那个堆的堆顶元素就是中位数 if (large.size() < small.size()) { - return small.peek(); + return small.front(); } else if (large.size() > small.size()) { - return large.peek(); + return large.front(); } // 如果元素一样多,两个堆堆顶元素的平均数是中位数 - return (large.peek() + small.peek()) / 2.0; + return (large.front() + small.front()) / 2.0; }; this.addNum = function(num) { if (small.size() >= large.size()) { - small.offer(num); - large.offer(small.poll()); + small.enqueue(num); + large.enqueue(small.dequeue()); } else { - large.offer(num); - small.offer(large.poll()); + large.enqueue(num); + small.enqueue(large.dequeue()); } }; };