题目描述
构建乘积数组
给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]*A[1]*…*A[i-1]*A[i+1]*…*A[n-1]。不能使用除法。
源码
class Solution {
public:
vector<int> multiply(const vector<int>& A) {
vector<int> vec1(A.size(),1),vec2(A.size(),1),vec;
int n = A.size();
for(int i=1;i<A.size();i++)
{
vec1[i]= vec1[i-1]*A[i-1];
vec2[n-i-1]=vec2[n-i]*A[n-i];
}
for(int i=0;i<A.size();i++)
{
vec.push_back(vec1[i]*vec2[i]);
}
return vec;
}
};