<剑指Offer>面试题66: 构建乘积数组

2019-02-26  本文已影响0人  cb_guo

题目描述

题目解读

代码

class Solution {
public:
    vector<int> multiply(const vector<int>& A) {
        int length = A.size();
        vector<int> B(length, 1);
        
        for(int i=1; i < length; i++){
            B[i] = B[i-1] * A[i-1];
        }
        
        int temp = 1;
        // 在上一步,B[length-1]已经构建好了
        for(int i=length-2; i >= 0; i--){ 
            temp = temp * A[i+1];
            B[i] = B[i] * temp;
        }
        
        return B;
    }
};

总结展望

上一篇下一篇

猜你喜欢

热点阅读