题解 | 构建乘积数组
构建乘积数组
https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A int整型vector
* @return int整型vector
*/
vector<int> multiply(vector<int>& A) {
int n = A.size();
vector<int> pre(n,1);
pre[0] = A[0];
for(int i = 1; i < n; i++){
pre[i] = pre[i-1] * A[i];
}
vector<int> tail(n,1);
tail[n - 1] = A[n - 1];
for(int i = n - 2; i >= 0; i --){
tail[i] = tail[i + 1] * A[i];
}
vector<int> B(n);
B[0] = tail[1];
B[n -1 ] = pre[n -2 ];
for(int i = 1 ; i < n - 1; i ++){
B[i] = pre[i-1] * tail[i + 1];
}
return B;
}
};