1. 程式人生 > >構建乘積陣列

構建乘積陣列

給定一個數組A[0,1,…,n-1],請構建一個數組B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]A[i-1]*A[i+1]…*A[n-1]。不能使用除法。

<?php

function multiply($numbers)
{
    $b=array();
    //若原陣列0個數大於1個,則用0填充b陣列
    if (array_count_values($numbers)[0]>1){
        return array_fill(0,count($numbers),0);
    }
    for ($i=0;$i<count($numbers
);$i++){ //用差集,從原陣列去除一個數 $b[$i]=array_product(array_diff($numbers,array_slice($numbers,$i,1))); } return $b; }