第 31 日:构建乘积数组
题目链接:https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof/
题目
解题
-
表格构建
解题思路:
本题就难在于不能使用除法。
构建如下表格,分别计算下三角和上三角的乘积
详细代码如下:
class Solution {
public int[] constructArr(int[] a) {
int[] b = new int[a.length];
if (a.length==0) return b;
int temp=1;
b[0]=1;
//下三角
for (int i = 1; i < a.length; i++) {
b[i]=b[i-1]*a[i-1];
}
//上三角
for (int i = a.length-1; i >= 0; i--) {
b[i]=b[i]*temp;
temp=temp*a[i];
}
return b;
}
}