建設の製品配列 - 配列は、オファーの安全性を証明します

タイトル説明

配列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]。あなたは分裂を使用することはできません。(注:所定B [0] = A [1] * A [2] * ... * A [N-1]、B [N-1] = A [0] * A [1] *··· * A [N-2];)

分析

これは、上記および下記の可変乗算製品で記録しました。

コード

class Solution {
public:
    vector<int> multiply(const vector<int>& A) {
        int len = A.size();
        if (!len)
            return {};
        vector<int> B(len, 1);
        int start = 1;
        int end = 1;
        for (int i = 0; i < len; i++) {
            B[i] *= start;
            start *= A[i];
        }
        for (int i = len - 1; i >= 0; i--) {
            B[i] *= end;
            end *= A[i];
        }
        return B;
    }
};

 

公開された35元の記事 ウォンの賞賛6 ビュー6697

おすすめ

転載: blog.csdn.net/qq_35413770/article/details/105131223