类似于前缀和的思想。
分成两次循环
求B[k],从0到k-1一次,从k+1到一次。
第一次循环B[k]=B[k-1]*A[i-1]
第二次循环B[k]=B[k] * 后缀积
import java.util.ArrayList;
public class Solution {
public int[] multiply(int[] A) {
int l=A.length;
int B[]=new int[l];
B[0]=1;
for(int i=1;i<l;i++){
B[i]=B[i-1]*A[i-1];
}
int tem=1;
for(int i=l-1;i>=0;i--){
B[i]=B[i]*tem;
tem=tem*A[i];
}
return B;
}
}