给定一个数组 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]。不能使用除法。
简单来说就是除自身以外的乘积。leetcode 238
乘积 = 左边的数的乘积 * 右边的数的乘积
class Solution {
public:
vector<int> constructArr(vector<int>& nums) {
int n = nums.size();
vector<int> res(n,0);
int left = 1;
for(int i = 0; i < n; i++){
res[i] = left;
left *= nums[i];
}
int right = 1;
for(int i = n - 1; i >= 0; i--){
res[i] *= right;
right *= nums[i];
}
return res;
}
};