前缀和的思想——前缀后缀积-

构建乘积数组

http://www.nowcoder.com/questionTerminal/94a4d381a68b47b7a8bed86f2975db46

class Solution {
public:
    vector<int> multiply(const vector<int>& A) {
        // 定义前缀积f[i]表示前i个数的乘积,后缀积为第i到最后一个元素的乘积
        vector<int> f1, f2;
        f1.push_back(1);
        f2.push_back(1);
        vector<int> b;
        for(int i = 1; i <= A.size(); i ++) {
            f1.push_back(f1[i - 1] * A[i - 1]); 
            f2.push_back(f2[i - 1] * A[A.size() - i]);
        }
        for(int i = 1; i <= A.size(); i ++) {
            b.push_back(f1[i - 1] * f2[A.size() - i]);
        }
        return b;
    }
};
全部评论

相关推荐

11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务