LeetCode238. 除自身以外数组的乘积
Posted 醉苼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode238. 除自身以外数组的乘积相关的知识,希望对你有一定的参考价值。
238. 除自身以外数组的乘积
解题思路
除自身以外数组的乘积 = 这个数左边的乘积X这个数右边的乘积
代码:
class Solution {
public int[] productExceptSelf(int[] nums) {
int n = nums.length;
if(n <= 1) return nums;
//左边数的乘积
int left = 1;
//右边数的乘积
int right = 1;
int[] res = new int[n];
for(int i = n-1; i >= 0; i--) {
res[i] = nums[i] * right;
right = res[i];
}
for(int i = 0; i < n; i++) {
res[i] = left;
if(i < n-1) res[i] *= res[i+1];
left *= nums[i];
}
return res;
}
}
以上是关于LeetCode238. 除自身以外数组的乘积的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode每日一题2020.6.4 238. 除自身以外数组的乘积