JZ51 构建乘积数组

本文最后更新于:2022年4月9日 中午

image-20211010151711916

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;
}
};

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!