题目描述
点这里
思路分析
前缀和思想
求前缀积,再从后往前遍历一遍更新下ans。
代码实现
class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
int n=nums.size();
vector<int> ans(n,1);
for(int i=1;i<n;i++) ans[i]=ans[i-1]*nums[i-1];
for(int i=n-1,s=1;i>=0;i--){
ans[i]*=s;
s*=nums[i];
}
return ans;
}
};