From f9f717fb16a84f5226d60295c6033d8746865675 Mon Sep 17 00:00:00 2001 From: kuaileyichu Date: Thu, 2 May 2019 16:12:17 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E6=95=B0=E6=8D=AE=E6=B5=81=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E4=B8=AD=E4=BD=8D=E6=95=B0.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GetMedian bug --- ...2\204\344\270\255\344\275\215\346\225\260.py" | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git "a/Target Offer/\346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\344\270\255\344\275\215\346\225\260.py" "b/Target Offer/\346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\344\270\255\344\275\215\346\225\260.py" index dcb2e14..c58bd5b 100644 --- "a/Target Offer/\346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\344\270\255\344\275\215\346\225\260.py" +++ "b/Target Offer/\346\225\260\346\215\256\346\265\201\344\270\255\347\232\204\344\270\255\344\275\215\346\225\260.py" @@ -16,15 +16,15 @@ def Insert(self, num): self.right.append(num) self.count += 1 - def GetMedian(self, x): + def GetMedian(self): if self.count == 1: return self.left[0] self.MaxHeap(self.left) self.MinHeap(self.right) - if self.left[0] > self.right[0]: + while self.left[0] > self.right[0]: self.left[0], self.right[0] = self.right[0], self.left[0] - self.MaxHeap(self.left) - self.MinHeap(self.right) + self.MaxHeap(self.left) + self.MinHeap(self.right) if self.count & 1 == 0: return (self.left[0] + self.right[0])/2.0 else: @@ -66,3 +66,11 @@ def MinHeap(self, alist): alist[k] = alist[index] k = index alist[k] = temp + +s = Solution() +l = [4, 7, 0, 9, 1, 5, 3, 3, 2, 6] +s.MaxHeap(l) +print(l) +for i in range(1,10): + s.Insert(i) +s.GetMedian()