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 tiedostoon maxset.py luokka MaxSet, jossa on seuraavat metodit:

  • merge yhdistää joukot, joissa on luvut a ja b (jos ne ovat eri joukoissa)
  • get_max ilmoittaa suurimman joukon koon

Kummankin metodin tulee toimia tehokkaasti.

class MaxSet:
    def __init__(self, n):
        # TODO

    def merge(self, a, b):
        # TODO

    def get_max(self):
        # TODO

if __name__ == "__main__":
    max_set = MaxSet(5)
    print(max_set.get_max()) # 1

    max_set.merge(1, 2)
    max_set.merge(3, 4)
    max_set.merge(3, 5)
    print(max_set.get_max()) # 3

    max_set.merge(1, 5)
    print(max_set.get_max()) # 5

    max_set.merge(2, 3)
    print(max_set.get_max()) # 5