先计算B的下三角,乘入B[]中,再计算上三角。
public static int[] constructArr(int[] a){
int len=a.length;
if(len==0) return new int[0];
int[] b=new int[len];
b[0]=1;
int temp=1;
//下三角
for(int i=1;i<len;i++){
b[i]=a[i-1]*b[i-1];
}
//上三角
for(int i=len-1;i>=0;i--){
b[i]*=temp;
temp*=a[i];
}
return b;
}