力扣238. 除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位整数范围内。

请不要使用除法,且在 O(n) 时间复杂度内完成此题。

示例 1:

输入: nums =1,2,3,4

输出:[24,12,8,6]

示例 2:

输入: nums = -1,1,0,-3,3

输出: 0,0,9,0,0

cpp 复制代码
class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        int n=nums.size();
        vector<int> ret(n,1);
        vector<int> prefix(n,1);//前缀积数组,初始化为1
        for(int i=1;i<n;i++){//prefix[0]默认为1
                    prefix[i]=prefix[i-1]*nums[i-1];
        }
        vector<int> postfix(n,1);//后缀积数组,初始化为1
        for(int i=n-2;i>=0;i--){//postfix[n-1]默认为1
            postfix[i]=postfix[i+1]*nums[i+1];
            
        }
        for(int i=0;i<n;i++){//前后缀积相乘为结果数组
            ret[i]=prefix[i]*postfix[i];
        }
        return ret;
    }
};
相关推荐
Xin7701 分钟前
LeetCode 78. 子集(回溯法)
leetcode
xunberg5 分钟前
【生命科学 Agent】推理平台(三)
算法·程序员·架构
INGNIGHT5 分钟前
151 · 买卖股票的最佳时机 III(序列dp)
数据结构·算法·leetcode
庖丁解牛9 分钟前
十进制转二进制:凑数法(填1法)
算法
行者全栈架构师16 分钟前
【共创稿事节】双引擎智能相册:HarmonyOS 7(API 26)文搜图 × 图像超分端侧 AI 联动实战
前端·算法·架构
圣保罗的大教堂29 分钟前
leetcode 3644. 排序排列 中等
leetcode
背景调查知识库32 分钟前
第三方背景调查中的企业委托方与受托方角色核验什么?
职场和发展
小蒋观天下35 分钟前
【无标题】红外补光近距过曝、远距欠曝:导致车牌AI识别失效调试
人工智能·深度学习·数码相机·算法·机器学习·ai大模型
人才风控数字化1 小时前
在职风控系统中的误报率、有效率与模型评估如何判断?
职场和发展
吞下星星的少年·-·2 小时前
牛客周赛 119B题(贪心)
算法·贪心