原文地址:https://www.jianshu.com/p/ec698efef7fa
时间限制:1秒 空间限制:32768K
题目描述
给定一个数组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> res;
int siz=A.size();
if(siz<1)
return res;
vector<int> A1(siz,1);
vector<int> A2(siz,1);
for(int i=1;i<siz;i++){
A1[i]=A1[i-1]*A[i-1];
A2[siz-i-1]=A2[siz-i]*A[siz-i];
}
for(int i=0;i<siz;i++)
res.push_back(A1[i]*A2[i]);
return res;
}
};
运行时间:4ms
占用内存:472k