题目描述
blablabla
样例
blablabla
算法1
将数组拆分为left和right两部分,left[i]=A[i-1]*left[i-1],right[i]=A[i+1]*right[i+1]
class Solution {
public:
vector<int> multiply(const vector<int>& A) {
vector<int> B(A.size());
vector<int> left(A.size(),1);
vector<int> right(A.size(),1);
for (int i=1;i<A.size();i++) {
left[i]=A[i-1]*left[i-1];
// cout<<left[i]<<' ';
}
for (int i=A.size()-2;i>=0;i--) {
right[i]=A[i+1]*right[i+1];
// cout<<right[i]<<' ';
}
for (int i=0;i<A.size();i++) {
B[i]=left[i]*right[i];
// cout<<B[i]<<' ';
}
return B;
}
};