この記事の内容は、PHP が現在の要素を除いた積配列をどのように構築するか (コード付き) に関するもので、一定の参考値を持っています。必要な友人はそれを参照できます。お役に立てれば幸いです。
積配列の構築
配列 A[0,1,...,n-1] が与えられた場合、配列 B[0,1,...,n-1] を構築してください。このうち、B=A[0]*A[1]*...*A[i-1]*A[i 1]*...*A[n-1] の要素 B[i] です。分割は使用できません。
1. この質問の意味は、配列 B の要素は配列 A のすべての要素の積ですが、現在の要素は除外する必要があるということです。
2. 配列 A は分割されています
3. 左側の配列は A[0]...A[n-1]、右側の配列は A[1]...A[n ]
4. 新しい配列を結合します
$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; }
以上がPHPで現在の要素を除いた製品配列を構築する方法(コードは添付されています)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。