剑指Offer 41

 1 # -*- coding:utf-8 -*-
 2 class Solution:
 3     def __init__(self):
 4         self.l = []
 5         self.min = 0
 6         self.max = 0
 7         self.len = 0
 8         
 9     def Insert(self, num):
10         if self.len == 0:
11             self.l.append(num)
12             self.min = num
13             self.max = num
14         else:
15             if num <= self.min:
16                 self.min = num
17                 self.l.insert(0,num)
18             elif num >= self.max:
19                 self.max = num
20                 self.l.append(num)
21             else:
22                 for i in range(1,self.len):
23                     if  self.l[i-1] <= num  and num <= self.l[i]:
24                         self.l.insert(i,num)
25                         break
26         self.len += 1
27         # write code here
28     def GetMedian(self,data):
29         if self.len == 0:
30             return 0
31         elif self.len == 1:
32             return self.l[0]
33         elif self.len == 2 :
34             return (self.l[0] + self.l[1]) / 2.0
35         else:
36             result = 0
37             if self.len % 2 == 1:
38                 mid = self.len // 2
39                 result = self.l[mid]
40             else:
41                 mid = self.len // 2
42                 result = (self.l[mid] + self.l[mid - 1]) / 2.0
43             return result
44         # write code here

猜你喜欢

转载自www.cnblogs.com/asenyang/p/11015975.html