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 } }