Pretende-se ser um código de golfe fácil e pequeno.
O mex (número mínimo excluído) de uma coleção finita de números é o menor número inteiro não negativo 0, 1, 2, 3, 4, ...
que não aparece na coleção. Em outras palavras, é o mínimo do complemento. A operação mex é central para a análise de jogos imparciais na teoria combinatória dos jogos .
Seu objetivo é escrever um programa ou função nomeada para calcular o mex usando o mínimo de bytes possível.
Entrada:
Uma lista de números inteiros não negativos em qualquer ordem. Pode conter repetições. Para concretização, o comprimento da lista e o intervalo permitido de elementos serão entre 0
e 20
inclusive.
A definição de "lista" aqui é flexível. Qualquer estrutura que represente uma coleção de números é boa, desde que tenha uma ordem fixa de elementos e permita repetições. Não pode incluir nenhuma informação auxiliar, exceto seu comprimento.
A entrada pode ser tomada como argumento de função ou através de STDIN.
Resultado
O menor número excluído. Saída ou imprima.
Casos de teste
[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
0
para 20
, a saída correta será 21. Vou adicionar um caso de teste. Sim, o alcance fixo definitivamente facilita, embora ainda se possa usar sem dúvida sys.maxint
ou 2**64
se eu não o especificou.