To ma być łatwy do gry w golfa kodowego.
Mek (minimalna wykluczona liczba) skończonego zbioru liczb jest najmniejsza nieujemną liczbę całkowitą 0, 1, 2, 3, 4, ..., która jest nie pojawiają się w bazie. Innymi słowy, jest to minimum dopełnienia. Operacja mex ma kluczowe znaczenie dla analizy bezstronnych gier w kombinatorycznej teorii gier .
Twoim celem jest napisanie programu lub funkcji o nazwie, aby obliczyć mex przy użyciu jak najmniejszej liczby bajtów.
Wejście:
Lista liczb całkowitych nieujemnych w dowolnej kolejności. Może zawierać powtórzenia. Dla konkretności długość listy i dozwolony zakres elementów będą zawierać się między 0i 20włącznie.
Definicja „listy” tutaj jest elastyczna. Każda struktura reprezentująca zbiór liczb jest w porządku, o ile ma ustaloną kolejność elementów i umożliwia powtórzenia. Może nie zawierać żadnych informacji pomocniczych oprócz ich długości.
Dane wejściowe można traktować jako argument funkcji lub przez STDIN.
Wynik
Najmniejsza liczba wykluczona. Wydrukuj lub wydrukuj.
Przypadki testowe
[1]
0
[0]
1
[2, 0]
1
[3, 1, 0, 1, 3, 3]
2
[]
0
[1, 2, 3]
0
[5, 4, 1, 5, 4, 8, 2, 1, 5, 4, 0, 7, 7]
3
[3, 2, 1, 0]
4
[0, 0, 1, 1, 2, 2, 3]
4
[1, 0, 7, 6, 3, 11, 15, 1, 9, 2, 3, 1, 5, 2, 3, 4, 6, 8, 1, 18]
10
0do 20, poprawne dane wyjściowe to 21. Dodam przypadek testowy. Tak, ustalony zakres zdecydowanie ułatwia, choć nadal można z niego korzystać sys.maxintlub 2**64gdybym go nie określił.