题目链接:https://leetcode.cn/problems/product-of-array-except-self/description/?envType=study-plan-v2&envId=top-100-liked
前缀和
前缀乘积乘后缀乘积
class Solution {
public int[] productExceptSelf(int[] nums) {
int n = nums.length;
//前缀乘积
int[] pre = new int[n];
//后缀乘积
int[] suf = new int[n];
//存储答案
int[] ans = new int[n];
pre[0] = nums[0];
suf[n - 1] = nums[n - 1];
for(int i = 1; i < n; i++){
pre[i] = pre[i - 1] * nums[i];
}
for(int i = n - 2; i >= 0; i--){
suf[i] = suf[i + 1] * nums[i];
}
ans[0] = suf[1];
ans[n - 1] = pre[n - 2];
for(int i = 1; i < n - 1; i++){
ans[i] = pre[i - 1] * suf[i + 1];
}
return ans;
}
}
还剩84题!