您的位置:首页 > Web前端

【剑指offer】题52:构建乘积数组

2017-07-06 19:25 323 查看
注意反序遍历数组时

auto i = vec.size()-1;

i 为无符号整形

vector<int> multiply(const vector<int>& A)
{
vector<int> re(A.size());
if (A.size()<=1)
{
return re;
}
vector<int> C(A.size(),1);
vector<int> D(A.size(),1);
for (auto i = 1; i < A.size();++i)
{
C[i] = C[i - 1] * A[i - 1];
}
for (int i = A.size()-2; i >= 0;--i)//auto -> unsigned int
{
D[i] = D[i + 1] * A[i + 1];
}
for (auto i = 0; i < A.size();++i)
{
re[i] = C[i] * D[i];
}
return re;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: