当前位置: 首页 > news >正文

【leetcode刷题日记】lc.238-除自身以外数组的乘积

目录

1.题目

2.代码、


1.题目

给你一个整数数组 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]

提示:

  • 2 <= nums.length <= 105
  • -30 <= nums[i] <= 30
  • 输入 保证 数组 answer[i] 在  32 位 整数范围内

进阶:你可以在 O(1) 的额外空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组 不被视为 额外空间。)

2.代码、

class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        int n=nums.size();
        vector<int> pre(n); 
        vector<int> sa(n);
        pre[0]=1;
        sa[n-1]=1;
        vector<int> ans(n);
        for(int i=1;i<n;i++)
        {
            pre[i] = pre[i-1]*nums[i-1];
            sa[n-1-i] = sa[n-i]*nums[n-i];
        }
        for(int i=0;i<n;i++)
        {
            ans[i]= pre[i] * sa[i];
        }
        return ans;
    }
};

相关文章:

  • redis 缓存命中率降低,该如何解决?
  • OMNIWeb 数据介绍
  • uniapp用法--uni.navigateTo 使用与参数携带的方式示例(包含复杂类型参数)
  • 合合信息大模型加速器2.0实测:当AI开始“读心术“与“考古“
  • 若依框架二次开发——若依(RuoYi)实现手机号/邮箱/用户名多方式登录
  • 【MySQL基础-18】MySQL字符函数详解:高效处理文本数据的利器
  • 说说Redis的内存淘汰策略?
  • 课程6. 决策树
  • #不同版本下,单元测试的注解使用
  • Mysql从入门到精通day5————子查询精讲
  • 人工智能的未来:从弱 AI 到通用人工智能(AGI)
  • 常用的卷积神经网络及Pytorch示例实现
  • AI+制造的破局之战(上):从技术爆发到价值穿透,谁将率先定义“智能体时代”?
  • 网络架构搭建中的 QinQ 与端口安全策略
  • python采集淘宝拍立淘按图搜索API接口,json数据示例参考
  • Java中用Stream流取出分组后每组中最大值对应的对象
  • ubuntu开启黑屏现象解决
  • Linux上位机开发实践(从MPP平台到产品)
  • AI大模型从0到1记录学习 day10
  • SvelteKit 最新中文文档教程(16)—— Service workers
  • 织梦做的网站织梦修改网页/sem竞价托管代运营
  • asp动态网站开发认证模拟判断题/网站搭建详细教程
  • 南宁网站建设优化/seo排名优化收费
  • 有无专门做网站会员人数迅速增加的方法/郑州官网网站推广优化公司
  • wordpress本地搭建网站/腾讯企点qq
  • 网站开发主要工作内容/知乎关键词排名优化