JavaScript の適切な数学的セットの実装はどこにありますか? 交差、結合、補数、および (ボーナス ポイントの場合) デカルト積の効率的な実装を含める必要があります。
いいえ、宿題ではありません。yubikey を入手しました。これは、16 個のキーコードから選択したシーケンスを入力して、128 ビットのワンタイム パスワード (otp) を入力する USB キーボードです。より便利にするために、ソフトウェアは、生成された文字に基づいてキーボード レイアウトを検出し、既存のバックエンドとの互換性のために、それらの文字を "us" レイアウトに戻す必要があります。
つまり、430 のキーボード レイアウトのそれぞれで yubikey が入力できるすべてを表す 16 文字の 93 の異なるシーケンスがあります。(この目的のために、多くのレイアウトは同じです。) 特定の otp の可能なマッピングは、otp 内のすべての文字を含む各 16 文字のシーケンスです。
これを効率的に見つけるために、考えられる各文字をその文字を使用するキーボード レイアウトのリストにマッピングする逆インデックスを使用します。答えは、otp 内の各一意の文字の逆インデックスの各エントリの共通部分です。これはほとんどの場合、正確に 1 つの要素で終わります。
の適切な実装を使用して、このクロスブラウザーを作成する方が簡単ですSet()
。