题解 | 构建乘积数组
构建乘积数组
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; } };