面试题66
示例:
输入: [1,2,3,4,5]
输出: [120,60,40,30,24]提示:
Solutions
class Solution {
public:
vector<int> constructArr(vector<int>& a) {
if (a.size() <= 1) return a;
vector<int> res(a.size(), 1);
for (int i = 1; i < a.size(); i++)
res[i] = res[i - 1] * a[i - 1];
int suffix = 1;
for (int i = a.size() - 1; i >= 0; i--) {
res[i] *= suffix;
suffix *= a[i];
}
return res;
}
};Last updated