用动态规划算法
利用两次for循环计算出上三角和下三角的乘积之和。
class Solution {
public int[] constructArr(int[] a) {
int n=a.length;
if(n==0) return new int[]{};
int[]b=new int[n];
b[0]=1;
int temp=1;
for(int i=1;i<n;i++){
b[i]=b[i-1]*a[i-1];
}
for(int i=n-2;i>=0;i--){
temp*=a[i+1];
b[i]*=temp;
}
return b;
}
}