
【解题思路】
左边和右边分别乘起来,最后两者再相乘。
class Solution {
public int[] constructArr(int[] a) {
int len = a.length;
int[] ans = new int[len];
for(int i = 0, tmp = 1; i < len; tmp *= a[i], i++)
{
ans[i] = tmp;
}
for(int i = len-1, tmp = 1; i >= 0; tmp *= a[i], i--)
{
ans[i] *= tmp;
}
return ans;
}
}
本文介绍了一种构造特定数组的方法,该方法通过两次遍历数组来实现每个元素左侧和右侧元素乘积的累积,最终得到每个位置上的元素等于除去自身外其他所有元素的乘积。
377

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



