电商app软件,张店专业网站优化哪家好,eclipse网站开发环境搭建,圣象分销系统238. 除自身以外数组的乘积 - 力扣#xff08;LeetCode#xff09; 解法#xff1a;前缀积和后缀积
思路#xff1a;answer中的每一个元素都是除自己以外所有元素的和。那就处理一个前缀积数组和后缀积数组。
而前缀积(f[i])是#xff1a;[0,i-1]所有元素的乘积 后缀…238. 除自身以外数组的乘积 - 力扣LeetCode 解法前缀积和后缀积
思路answer中的每一个元素都是除自己以外所有元素的和。那就处理一个前缀积数组和后缀积数组。
而前缀积(f[i])是[0,i-1]所有元素的乘积 后缀积(g[i])的范围是[i1,n-1]所有元素的乘积 这样处理answer[i] f[i] * g[i] 就可以完美得出最终结果。 细节
1.因为是前缀和后缀 积
所以f[0] 1 g[n-1] 1
class Solution
{
public:vectorint productExceptSelf(vectorint nums) {int n nums.size();vectorint f(n);f[0] 1;for(int i 1;in;i){f[i] f[i-1] * nums[i-1];}vectorint g(n);g[n-1] 1;for(int i n-2;i0;i--){g[i] g[i1] * nums[i1];}vectorint answer(n);for(int i 0;in;i){answer[i] f[i] * g[i];}return answer;}
};