Files
tira/viikko5/mex.py
T
2023-11-07 01:27:43 +02:00

33 lines
735 B
Python

class Mex:
def __init__(self):
self.set = {0}
self.lowest_missing = 0
def add(self, x):
self.set.add(x)
if x != self.lowest_missing:
return self.lowest_missing
for y in range(self.lowest_missing, len(self.set) + 1):
if y in self.set:
continue
else:
self.lowest_missing = y
return self.lowest_missing
return self.lowest_missing
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
# m = Mex()
# for i in range(10**5):
# print(m.add(i))