相关标签
一、题目要求
二、题解和代码实现
1.题解
2.代码实现
代码如下(示例):
class Solution {
public int[] productExceptSelf(int[] nums) {
int[] res = new int[nums.length];
// res[i] 表示索引 i 左侧所有元素的乘积
// 因为索引为 '0' 的元素左侧没有元素, 所以 res[0] = 1
res[0]= 1;
for (int i = 1; i < nums.length; i++) {//计算除了自身i下标 左边的乘积的值赋值到res[i]
res[i] = res[i-1]*nums[i-1];
}
// R 为右侧所有元素的乘积
// 刚开始右边没有元素,所以 R = 1
int R=1;
for (int i = nums.length-1; i >=0; i--) {
// 对于索引 i,左边的乘积为 res[i],右边的乘积为 R
res[i] = res[i] * R;
// R 需要包含右边所有的乘积,所以计算下一个结果时需要将当前值乘到 R 上
R *=nums[i];
}
return res;
}
}