构建乘积数组
(我是一个没有感情的刷题机器)
思路:把数字写一遍找出规律
B[0] = A[1] *A[2] * A[3]…*A[n-1]
B[1] = A[0] *A[2] * A[3]…*A[n-1]
B[2] = A[0] *A[1] * A[3]…*A[n-1]
看出来没?要是你要求B[i] ,后面的乘积就不要包含A[i]这一项了,当然意思就是说直接乘以1就好了。
class Solution {
public:
vector<int> multiply(const vector<int>& A)
{
vector<int> v;
for(int i=0;i<A.size();i++)
{
int temp=1;
for(int j=0;j<A.size();j++)
{
if(j==i)
temp*=1;
else
temp*=A[j];
}
v.push_back(temp);
}
return v;
}
};