これは、簡単な一口サイズのコードゴルフになることを目的としています。
数値の有限コレクションのメックス(最小の除外数)は、コレクションに現れない最小の非負整数0, 1, 2, 3, 4, ...です。つまり、補数の最小値です。mex操作は、組み合わせゲーム理論における公平なゲームの分析の中心です。
あなたの目標は、できるだけ少ないバイトを使用してmexを計算するプログラムまたは名前付き関数を作成することです。
入力:
任意の順序の非負整数のリスト。繰り返しが含まれる場合があります。具体性のために、リストの長さと要素の許容範囲は、双方の間であろう0と20包括。
ここでの「リスト」の定義は柔軟です。要素の順序が固定されており、繰り返しが許可されている限り、数値のコレクションを表す構造は問題ありません。長さ以外の補助情報を含めることはできません。
入力は、関数の引数として、またはSTDINを介して取得できます。
出力
除外された最小の数。出力または印刷します。
テストケース
[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が含まれる場合、20正しい出力は21です。テストケースを追加します。1はまだ間違いなく使用することができてもはい、固定範囲は間違いなく、それが容易になりますsys.maxintか2**64、私はそれを指定しなかった場合。