['a', 'b']、['b', 'c']およびの 3 つの配列があるとし['d']ます。これらの 3 つの配列と交差する 4 つ目の配列を最小数の要素で作成するとしたら、得られる配列は['b', 'd']. 私の質問は...どうすればこの配列を見つけることができますか?
['a', 'b', 'c', 'd']確かにすべての配列と交差するようですが、それは最小の交差ではありません-です['b', 'd']。
何か案は?
['a', 'b']、['b', 'c']およびの 3 つの配列があるとし['d']ます。これらの 3 つの配列と交差する 4 つ目の配列を最小数の要素で作成するとしたら、得られる配列は['b', 'd']. 私の質問は...どうすればこの配列を見つけることができますか?
['a', 'b', 'c', 'd']確かにすべての配列と交差するようですが、それは最小の交差ではありません-です['b', 'd']。
何か案は?
試してみたいことは、各配列を調べて、複数の配列に一致する値を取得することだと思います。次に、これらの値を取得したら、配列から削除できる値を決定します。
例:
[1,2] [2,3] [2,4] [1,5] [3,7] [4,8]
[1,2,3,4]ループした後、すべての値が複数の配列で一致することがわかります。
次に、このリストから除外できる値があるかどうかを判断する必要があります。
を削除1しても、すべてが一致しますか?
いいえ、必要1です。
を削除2しても、すべてが一致しますか?
2はい、配列から削除できます。今、私たちは持ってい[1,3,4]ます。
を削除3しても、すべてが一致しますか?
いいえ、必要3です。
を削除4しても、すべてが一致しますか?
いいえ、必要4です。
最終的な配列は[1,3,4].
完全に一意の配列がある場合、これは機能しません。これを考慮して、すべての false 値のブール配列を作成し、配列を照合するときに値を true に設定できます。最終的にまだ false の値がある場合は、その配列から値を選択する必要があります。