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;
}
238. 除自身以外数组的乘积/C++
最新推荐文章于 2023-12-18 09:40:42 发布