JZ51 构建乘积数组
本文最后更新于:2022年4月9日 中午
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public: vector<int> multiply(const vector<int>& A) { int n = A.size(); vector<int> left(n+1, 1), right(n+1, 1); for (int i = 0; i < n; ++i) { left[i+1] = left[i] * A[i]; } for (int j = n-1; j >= 0; --j) { right[j] = right[j+1] * A[j]; } vector<int> res(n); for (int i = 0; i < n; ++i) { res[i] = left[i] * right[i+1]; } return res; } };
|