Heim > Backend-Entwicklung > PHP-Tutorial > So erstellen Sie ein Produktarray ohne das aktuelle Element in PHP (Code im Anhang)

So erstellen Sie ein Produktarray ohne das aktuelle Element in PHP (Code im Anhang)

不言
Freigeben: 2023-04-04 08:42:01
nach vorne
3155 Leute haben es durchsucht

Der Inhalt dieses Artikels handelt davon, wie man ein Produktarray ohne das aktuelle Element in PHP erstellt (mit Code). Ich hoffe, dass es für Sie hilfreich ist.

Erstellen Sie ein Produktarray
Gegebenes Array A[0,1,...,n-1], konstruieren Sie bitte ein Array B[0,1,...,n-1], Darunter das Element B[i] in B=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1] . Division kann nicht verwendet werden.

1. Die Bedeutung dieser Frage ist, dass die Elemente von Array B das Produkt aller Elemente in Array A sind, das aktuelle Element jedoch ausgeschlossen werden muss
2. Array A ist in zwei Teile geteilt die linke und rechte Seite des Elements i und sie werden separat multipliziert
3. Das linke Array ist A[0]...A[n-1], das rechte Array ist A[1]...A[n ]
4. Kombinieren Sie ein neues Array

$A=array(1,2,3,4);
multiply($A);
function multiply($numbers){
        $len=count($numbers);
        $res=array();
        //1. 组合左边数组
        $left=array();
        $left[0]=1;
        for($i=1;$i<$len;$i++){
                $left[$i]=$left[$i-1]*$numbers[$i-1];
        }   

        //2. 组合右边数组
        $right=array();
        $right[$len-1]=1;
        for($j=$len-2;$j>=0;$j--){
                $right[$j]=$right[$j+1]*$numbers[$j+1];
        }   

        //3. 组合新数组,整好可以实现A[0]*A[i-1]*A[i+1]*A[n-1]排除当前i元素
        for($i=0;$i<$len;$i++){
                $res[$i]=$left[$i]*$right[$i];
        }   
        return $res;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Produktarray ohne das aktuelle Element in PHP (Code im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage