/**
思路:
B0 | 1 A1 A2 A3 A4 ... A(n-2) A(n-1)
B1 | A0 1 A2 A3 A4 ... A(n-2) A(n-1)
B2 | A0 A1 1 A3 A4 ... A(n-2) A(n-1)
B3 | A0 A1 A2 1 A4 ... A(n-2) A(n-1)
B4 | A0 A1 A2 A3 1 ... A(n-2) A(n-1)
...
B(n-2) | A0 A1 A2 A3 A4 ... 1 A(n-1)
B(n-1) | A0 A1 A2 A3 A4 ... A(n-2) 1
*/
public int[] multiply(int[] A) {
if(A==null || A.length==0){
return null;
}
int n=A.length;
int[] B=new int[n];
//计算左下角乘积
B[0]=1;
for(int i=1;i<n;i++){
B[i]=B[i-1]*A[i-1];
}
//计算右上角乘积
int product=1;
for(int i=n-2;i>=0;i--){
product*=A[i+1];
B[i]=B[i]*product; //最后是获取 B[0]=A[1]*A[2]*A[3]*...*A[n-1]
}
return B;
}
https://www.mianshi.online,[https://www.i9code.cn](
本文由博客一文多发平台 OpenWrite 发布!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。