题解 | 构建乘积数组

构建乘积数组

https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A int整型vector 
     * @return int整型vector
     */
    vector<int> multiply(vector<int>& A) {
        int n = A.size();
        vector<int> pre(n,1);
        pre[0] = A[0];
        for(int i = 1; i < n; i++){
            pre[i] = pre[i-1] * A[i];
        }
        vector<int> tail(n,1);
        tail[n - 1] = A[n - 1];
        for(int i = n - 2; i >= 0; i --){
            tail[i] = tail[i + 1] * A[i];
        }
        vector<int> B(n);
        B[0] = tail[1];
        B[n  -1 ] = pre[n  -2 ];
        for(int i = 1 ; i < n - 1; i ++){
            B[i] = pre[i-1] * tail[i + 1];
        }
        return B;
    }
};

全部评论
利用前缀乘和后缀乘获得
点赞 回复 分享
发布于 04-19 14:57 上海

相关推荐

野猪不是猪🐗:😇:恭喜你以出色的表现成为xxx的一员 😨:您以进入本公司人才库 实际点开:您愿望单中的xxx正在特卖!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务