题解 | #除自身以外数组的乘积#

除自身以外数组的乘积

https://www.nowcoder.com/practice/0786aa81c1c64c2a990e393fac811b45

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型vector
     */
    //思路res按顺序求前i个数的乘积,后逆序处理res
    vector<int> timesExceptSelf(vector<int>& nums) {
        // write code here
        int n=nums.size();
        vector<int> res(n,1);
        res[0]=nums[0];//第一个位置需特殊处理
        for(int i=1;i<n;i++){
            res[i]=res[i-1]*nums[i];
        }
        int temp1=1;//用于记录 i +1到 n-1 个数的乘积方便后面直接与res的前 i-1 的乘积得出结果
        for(int i=n-1;i>0;i--){
            res[i]=res[i-1]*temp1;
            temp1*=nums[i];
        }
        res[0]=temp1;//第一个位置特殊处理
        return  res;
    }
};


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:10
直接上图
牛客13578115...:改得一般,不值80
点赞 评论 收藏
分享
07-09 18:28
门头沟学院 Java
写着提前批,结果还要实习4个月以上???
程序员牛肉:这种不用看,直接投了,面试的时候问对应的HR就行。有可能他们是直接复制的暑期实习的模板。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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