构建乘积数组

 

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

 

posted on 2016-04-27 22:08  RenewDo  阅读(74)  评论(0编辑  收藏  举报

导航