美文网首页
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