题解 | 构建乘积数组

构建乘积数组

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

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A int整型vector 
     * @return int整型vector
     */
    vector<int> multiply(vector<int>& A) {
        
        int length = A.size();
        vector<int> ans(length, 1);

        // 从左往右先乘左边
        for ( int i = 1; i < length; i ++ ) 
            ans[i] = ans[i-1]*A[i-1];

        int temp = 1;

        // 乘右边,顺序很重要,先乘到答案数组里,再与原数组相乘,更改temp的值
        for ( int i = A.size() - 1; i >= 0 ;i -- ) {
            ans[i] *= temp;
            temp *= A[i];
        }

        return ans;    
    
    }
};

全部评论

相关推荐

StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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