(一) 题目描述
(二)思想方法
每一个数都等于左边数的乘积*右边数的乘积。第一个数等于1*右边数的乘积,最后一个数等于 左边数的乘积*1。
(三)代码实现
class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
vector<int> output;
int n = nums.size();
vector<int>left; vector<int> right(n, 1);
left.push_back(1);
for (int i = 1; i < n; i++)
{
left.push_back(left[i-1]*nums[i-1]);
right[n - i-1] = right[n - i]*nums[n-i];
}
for (int j = 0; j < n; j++)
{
output.push_back(left[j] * right[j]);
}
return output;
}
};