Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menjana Semua Subset Unik Array dengan Cekap dalam PHP?

Bagaimanakah Saya Boleh Menjana Semua Subset Unik Array dengan Cekap dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-22 08:46:10
asal
295 orang telah melayarinya

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

Mencari Subset Tatasusunan dalam PHP

Tugas mencari subset unik tatasusunan boleh menjadi sangat mencabar apabila berurusan dengan bilangan yang besar daripada unsur. Kami berusaha untuk mencipta set subset yang komprehensif, memastikan tiada pengulangan berlaku.

Sebagai contoh, memandangkan tatasusunan atribut {A, B, C, D}, kami ingin menjana semua subset yang mungkin, termasuk elemen individu dan gabungannya: {A, B, C, D, AB, AC, AD, BC, BD, CD, ABC, ABD, BCD, ABCD}.

Menggunakan Array Merge untuk Penjanaan Set Kuasa

PHP menyediakan penyelesaian padat untuk penjanaan set kuasa menggunakan fungsi 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);
Salin selepas log masuk

Tatasusunan $SUBSETS yang terhasil akan mengandungi semua subset tidak berulang bagi tatasusunan asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Semua Subset Unik Array dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan