jz66.构建乘积数组

题目描述

题解

对数组进行遍历两次即可

第一次遍历先把下三角求出, 第二次遍历把上三角的乘积求出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public int[] constructArr(int[] a) {
int len = a.length;
int[] b = new int[len];
if (len==0){
return b;
}
b[0] = 1;
for (int i = 1; i < len; i++) {
b[i] = b[i - 1] * a[i - 1];
}

int temp = 1;
for (int i = len - 2; i >= 0; i--) {
temp *= a[i+1];
b[i] *= temp;
}
return b;
}
-------------本文结束感谢您的阅读-------------
可以请我喝杯奶茶吗