Luvut 1,2,\dots,n ovat aluksi jokainen omassa joukossaan. Tehtäväsi on toteuttaa luokka, jossa voi yhdistää kaksi joukkoa sekä hakea suurimman joukon koon.
Toteuta luokka MaxSet, jossa on seuraavat metodit:
mergeyhdistää joukot, joissa on luvut a ja b (jos ne ovat eri joukoissa)get_maxilmoittaa suurimman joukon koon
Kummankin metodin tulee toimia tehokkaasti.
Toteuta luokka tiedostoon maxset.py seuraavan esimerkin mukaisesti.
class MaxSet:
def __init__(self, n):
# TODO
def merge(self, a, b):
# TODO
def get_max(self):
# TODO
if __name__ == "__main__":
m = MaxSet(5)
print(m.get_max()) # 1
m.merge(1, 2)
m.merge(3, 4)
m.merge(3, 5)
print(m.get_max()) # 3
m.merge(1, 5)
print(m.get_max()) # 5
