【剑指offer】 ——构建乘积数组

构建乘积数组

在这里插入图片描述
(我是一个没有感情的刷题机器)
思路:把数字写一遍找出规律
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;
    }
};

在这里插入图片描述

原创文章 78 获赞 21 访问量 3530

猜你喜欢

转载自blog.csdn.net/Vicky_Cr/article/details/105660051