n 個の整数 IDが与えられた場合、最大 k 個の ID のすべての可能なセットを定数値にリンクしたいと考えています。私が探しているのは、セット ({1, 5}、{1, 3, 5}、{1, 2, 3, 4, 5, 6, 7} など) を一意の値に変換する方法です。
保証:
- n < 100 および k < 10 (繰り返します: セットのサイズは [1, k] の範囲になります)。
- ID の順序は関係ありません: {1, 5} == {5, 1}。
- すべての組み合わせが可能ですが、一部除外される場合があります。
- すべてのセットと値は定数であり、一度だけ作成されます。削除も挿入も、値の更新もありません。
- 生成されると、実行される操作はルックアップのみになります。
- ルックアップは頻繁に行われ、一方向に行われます (指定されたセット、ルックアップ値)。
- 値を並べ替える (または整理する) 必要はありません。
さらに、「隣接する」セット (ID を 1 つ削除、ID を 1 つ追加、ID を 1 つ交換など) に到達しやすく、「少なくともこのセットを含むすべてのセット」にアクセスできると便利です (必須ではありません)。
何か案は?