力扣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;
    }
};
相关推荐
203号居民20 小时前
LeetCode hot 100 —560. 和为 K 的子数组
java·算法·leetcode
退休倒计时20 小时前
【每日一题】LeetCode 20. 有效的括号 TypeScript
算法·leetcode·职场和发展·typescript
文心快码BaiduComate20 小时前
光本位联合文心快码打造面向光电芯片研发的全栈AI Agent Lightmate
算法
一次旅行21 小时前
ViT/CLIP/LLaVA/GPT-4V/VideoLLM多模态架构全解:原理仿真+工业落地选型+完整推理代码
人工智能·算法·架构
神明不懂浪漫21 小时前
【第五章】队列
开发语言·数据结构·经验分享·笔记·算法
happy_baymax21 小时前
MATLAB MCP Server+ MATLAB Agentic Toolkit+Simulink Agentic Toolkit自动更新批处理文件.ps1
人工智能·算法
神明不懂浪漫1 天前
【第六章】二叉树
开发语言·数据结构·经验分享·笔记·算法
城管不管1 天前
第八次面试2026.8.10
面试·职场和发展
橘和柠1 天前
知识图谱实战(一):数据采集与实体关系抽取(完整代码)
算法