参考文章 https://blog.csdn.net/Bendaai/article/details/81281643 如有冒犯,请联系删除。
要得到下标为 i 的那个数对应的 ans[i], 先累积其左边的数,再累积其右边的数,最后相乘。
vector<int> productExceptSelf(vector<int>& nums) {
vector<int> ans;
int p = 1;
for(int i = 0;i < nums.size();++ i)
{
ans.push_back(p);
p *= nums[i];
}
for(int i = nums.size() - 1,p = 1;i >= 0;-- i)
{
ans[i] *= p;
p *= nums[i];
}
return ans;
}