PHP で配列の一意のサブセットをすべて効率的に生成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-22 08:46:10
オリジナル
230 人が閲覧しました

How Can I Efficiently Generate All Unique Subsets of an Array in PHP?

PHP での配列のサブセットの検索

配列の一意のサブセットを見つけるタスクは、多数の配列を扱う場合に特に困難になることがあります。要素の。私たちは、繰り返しが発生しないように、包括的なサブセットのセットを作成することを目指しています。

たとえば、属性の配列 {A、B、C、D} が与えられた場合、個々の要素を含むすべての可能なサブセットを生成したいと考えています。およびそれらの組み合わせ: {A、B、C、D、AB、AC、AD、BC、BD、CD、ABC、ABD、BCD、 ABCD}.

電力セットの生成に配列マージを使用する

PHP は、array_merge 関数を利用して電力セットを生成するためのコンパクトなソリューションを提供します。

function powerSet(array $array) : array {
    $results = [[]];

    foreach ($array as $element) {
        foreach ($results as $combination) {
            $results[] = [...$combination, $element];
        }
    }

    return $results;
}

// Example usage:
$ATTRIBUTES = ['A', 'B', 'C', 'D'];
$SUBSETS = powerSet($ATTRIBUTES);
ログイン後にコピー

結果の $SUBSETS 配列には、元の配列の非反復サブセットがすべて含まれます。

以上がPHP で配列の一意のサブセットをすべて効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート