其左边所有元素的乘积 * 其右边所有元素的乘积。一轮循环构建左边的乘积并保存在结果集中,二轮循环 构建右边乘积的过程,乘以左边的乘积并得到最终结果
class Solution {
public int[] constructArr(int[] a) {
int len = a.length;
if(len == 0) return new int[]{};
int[] result = new int[len];
result[0] = 1;
for(int i = 1; i < len; i++){
result[i] = result[i - 1]*a[i - 1];
}
for(int i = len - 2; i >= 0; i--){
result[i] = result[i]*a[i + 1];
a[i] = a[i]*a[i + 1];
}
return result;
}
}
本文介绍了一种构造数组的方法,该方法通过两轮循环实现:第一轮循环构建每个元素左侧所有元素的乘积;第二轮循环计算右侧元素乘积,并与左侧乘积相乘得到最终结果。
391

被折叠的 条评论
为什么被折叠?



