剑指 Offer 66. 构建乘积数组
思路:模拟
class Solution {
public:
vector<int> constructArr(vector<int>& a) {
if(a.empty()) return {};
vector<int> b(a.size());
b[0]=1;
for(int i=1;i<a.size();++i){
b[i]=b[i-1]*a[i-1];
}
int tmp=1;
for(int i=a.size()-2;i>=0;--i){
tmp*=a[i+1];
b[i]*=tmp;
}
return b;
}
};
时间复杂度 O(n)
空间复杂度 O(1)