题解 | 构建乘积数组
构建乘积数组
https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46
#include <vector>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A int整型vector
* @return int整型vector
*/
vector<int> multiply(vector<int>& A) {
int length = A.size();
vector<int> ans(length, 1);
// 从左往右先乘左边
for ( int i = 1; i < length; i ++ )
ans[i] = ans[i-1]*A[i-1];
int temp = 1;
// 乘右边,顺序很重要,先乘到答案数组里,再与原数组相乘,更改temp的值
for ( int i = A.size() - 1; i >= 0 ;i -- ) {
ans[i] *= temp;
temp *= A[i];
}
return ans;
}
};