24
ツイート可能なハッシュ関数チャレンジ
このコードチャレンジでは、140バイト1以下のソースコードでハッシュ関数を記述します。ハッシュ関数は、入力としてASCII文字列を受け取り、出力として24ビットの符号なし整数([0、2 24 -1])を返す必要があります。 ハッシュ関数は、この大きな英国英語辞書2のすべての単語に対して評価されます。スコアは、ハッシュ値を別の単語と共有する(衝突する)単語の量です。 最も低いスコアが勝ち、最初のポスターでタイが壊れます。 テストケース 送信する前に、次の入力でスコアリングスクリプトをテストしてください。 duplicate duplicate duplicate duplicate 4以外のスコアを与える場合、バグがあります。 明確化ルール: ハッシュ関数は、配列全体ではなく、単一の文字列で実行する必要があります。また、ハッシュ関数は入力文字列と出力整数以外のI / Oを実行しない場合があります。 組み込みのハッシュ関数または同様の機能(たとえば、スクランブルバイトへの暗号化)は許可されていません。 ハッシュ関数は決定的でなければなりません。 他のほとんどのコンテストとは異なり、得点入力用に最適化することは特に許可されています。 1 Twitterではバイトではなく文字が制限されていることは承知していますが、簡単にするために、この課題の制限としてバイトを使用します。 2 Debianのwbritish-hugeから変更し、非ASCIIワードを削除します。