美文网首页
2019-09-09[剑指offer-]构建乘积数组

2019-09-09[剑指offer-]构建乘积数组

作者: Coding破耳 | 来源:发表于2019-11-15 22:24 被阅读0次

题目描述

给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。不能使用除法。

class Solution {
public:
    vector<int> multiply(const vector<int>& A) 
    {
        int n = A.size();
        vector<int> vecB;
        vecB.push_back(1);
        for(int i = 1; i < n; i++)
        {
            vecB.push_back(1);
            vecB[i] = vecB[i-1]*A[i-1];
        }
        
        int tmp = 1;
        for(int i = n-2; i >= 0; i --)
        {
            tmp = tmp * A[i+1];
            vecB[i] = vecB[i] * tmp;
        }
        
        return vecB;
    }
};

相关文章

网友评论

      本文标题:2019-09-09[剑指offer-]构建乘积数组

      本文链接:https://www.haomeiwen.com/subject/mtkvyctx.html