Toteuta luokka Median, jossa on seuraavat metodit:
add(x): lisää lukuxmedian(): ilmoita listan mediaani eli keskimmäinen luku suuruusjärjestyksessä (jos lukuja on parillinen määrä, pienempi kahdesta mediaanista)
Kummankin metodin tulee toimia tehokkaasti (ajassa O(1) tai O(\log n)).
Toteuta tiedostoon median.py luokka Median seuraavan mallin mukaisesti.
class Median:
def __init__(self):
# TODO
def add(self, x):
# TODO
def median(self):
# TODO
if __name__ == "__main__":
m = Median()
m.add(1)
print(m.median()) # 1
m.add(2)
print(m.median()) # 1
m.add(1)
print(m.median()) # 1
m.add(3)
print(m.median()) # 1
m.add(3)
print(m.median()) # 2
Selitys: Esimerkissä listat ovat [1], [1,2], [1,2,1], [1,2,1,3], [1,2,1,3,3] ja niiden mediaanit ovat 1, 1, 1, 1 ja 2.
