国产探花免费观看_亚洲丰满少妇自慰呻吟_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.   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿州市| 菏泽市| 乐业县| 厦门市| 登封市| 盐山县| 兴义市| 临汾市| 邻水| 万州区| 礼泉县| 涿州市| 建宁县| 丽水市| 伊金霍洛旗| 宕昌县| 万源市| 新密市| 波密县| 漳浦县| 普定县| 长丰县| 屯昌县| 金昌市| 南陵县| 年辖:市辖区| 柳江县| 隆德县| 新民市| 灵璧县| 板桥市| 平潭县| 霍林郭勒市| 蒙自县| 凤冈县| 河间市| 西峡县| 广安市| 永清县| 镇巴县| 乌鲁木齐市|