Sinulle annetaan lukuja yksi kerrallaan. Tehtäväsi on kertoa jokaisen luvun kohdalla, mikä on siihen mennessä annettujen lukujen mex-luku eli pienin puuttuva epänegatiivinen luku.
Voit olettaa, että jokainen luku on kokonaisluku välillä 0 \dots 10^9 ja lukuja annetaan enintään 10^5.
Python
Toteuta tiedostoon mex.py luokka Mex, jonka funktio add lisää uuden luvun ja palauttaa lisättyjen lukujen mex-luvun.
class Mex:
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
Java
Toteuta tiedostoon Mex.java luokka Mex, jonka metodi add lisää uuden luvun ja palauttaa lisättyjen lukujen mex-luvun.
public class Mex {
public int add(int x) {
// TODO
}
public static void main(String[] args) {
Mex m = new Mex();
System.out.println(m.add(1)); // 0
System.out.println(m.add(3)); // 0
System.out.println(m.add(4)); // 0
System.out.println(m.add(0)); // 2
System.out.println(m.add(5)); // 2
System.out.println(m.add(2)); // 6
}
}
