Toteuta luokka Mex
, jossa on seuraava metodi:
add(x)
: lisää kokonaislukux
listalle ja palauta listan mex-luku
Listan mex-luku on pienin epänegatiivinen kokonaisluku, jota ei esiinny listalla. Esimerkiksi listan [2,0,3,4,2] mex-luku on 1.
Metodin add
tulee toimia keskimäärin ajassa O(1). Voit olettaa, että jokainen lisätty luku on epänegatiivinen.
Toteuta tiedostoon mex.py
luokka Mex
seuraavan esimerkin mukaisesti.
class Mex: def __init__(self): # TODO def add(self, x): # TODO if __name__ == "__main__": m = Mex() print(m.add(1)) # 0 print(m.add(3)) # 0 print(m.add(4)) # 0 print(m.add(0)) # 2 print(m.add(5)) # 2 print(m.add(2)) # 6