vector<int> productExceptSelf(vector<int>& nums) {
int size=nums.size();
vector<int> matrix(size);
//此处分别存的是
//1,
//a[0],
//...,
//a[0]*a[1]*...*a[n-3],
//a[0]*a[1]*...*a[n-2]
int k=1;
for(int i=0;i<size;++i){
matrix[i]=k;
k*=nums[i];
}
//分别乘以
//a[1]*a[2]*...*a[n-1],
//a[2]*a[3]*...*a[n-1],
//...,
//a[n-1],
//1
k=1;
for(int i=size-1;i>=0;--i){
matrix[i]*=k;
k*=nums[i];
}
return matrix;
}
版权声明:本文为Zolewit原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。