国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php實現構建排除當前元素的乘積數組方法

2024-09-04 11:46:43
字體:
來源:轉載
供稿:網友

構建乘積數組

給定一個數組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]。不能使用除法。

這題的意思是 B數組的元素是A數組中所有元素的乘積,但是要排除掉當前元素

A數組在i元素左右分成兩部分,分別相乘

left數組是 A[0]...A[n-1], right數組是A[1]...A[n]

組合出新的數組

  1. $A=array(1,2,3,4); 
  2.   
  3. multiply($A); 
  4.   
  5. function multiply($numbers){ 
  6.   
  7.     $len=count($numbers); 
  8.   
  9.     $res=array(); 
  10.   
  11.     //1. 組合左邊數組 
  12.   
  13.     $left=array(); 
  14.   
  15.     $left[0]=1; 
  16.   
  17.     for($i=1;$i<$len;$i++){ 
  18.   
  19.         $left[$i]=$left[$i-1]*$numbers[$i-1]; 
  20.   
  21.     }   
  22.   
  23.    
  24.   
  25.     //2. 組合右邊數組 
  26.   
  27.     $right=array(); 
  28.   
  29.     $right[$len-1]=1; 
  30.   
  31.     for($j=$len-2;$j>=0;$j--){ 
  32.   
  33.         $right[$j]=$right[$j+1]*$numbers[$j+1]; 
  34.   
  35.     }   
  36.   
  37.    
  38.   
  39.     //3. 組合新數組,整好可以實現A[0]*A[i-1]*A[i+1]*A[n-1]排除當前i元素 
  40.   
  41.     for($i=0;$i<$len;$i++){ 
  42.   
  43.         $res[$i]=$left[$i]*$right[$i]; 
  44.   
  45.     }  //Vevb.com 
  46.   
  47.     return $res
  48.   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆云县| 沙田区| 扎鲁特旗| 连云港市| 新乡县| 沅江市| 吴堡县| 苏尼特右旗| 昭通市| 米脂县| 周至县| 茂名市| 吉首市| 阜南县| 象山县| 阜康市| 永川市| 鸡东县| 天镇县| 乌兰县| 镇江市| 当雄县| 清苑县| 浦北县| 津南区| 辽中县| 肥乡县| 阿拉善左旗| 海林市| 金门县| 梧州市| 新田县| 白城市| 鄂伦春自治旗| 罗山县| 西盟| 临漳县| 西乌珠穆沁旗| 建宁县| 垫江县| 曲阜市|