leetcode面试题比较喜欢优化空间。。这是ACMer比较少干的事情,需要习惯。。。
直接前后扫两边算贡献即可。
const int M = 1e5+7;
class Solution {
public:
vector<int> constructArr(vector<int>& a) {
int n=a.size();
vector<int>b(n,1);
int tp=1;
for(int i=0;i<n;i++){
b[i]*=tp;
tp*=a[i];
}
tp=1;
for(int i=n-1;i>=0;i--){
b[i]*=tp;
tp*=a[i];
}
return b;
}
};