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

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]

提示:

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

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

解题思路:

构造前缀乘积与后缀乘积,除去当前值的乘积等于前缀乘积×后缀乘积

代码:

class Solution:
    def productExceptSelf(self, nums):
        length = len(nums)
        if length==2:
            return nums[::-1]
        forward = [0]*length
        backward = [0]*length
        forward[0] = nums[0]
        backward[length-1] = nums[length-1]
        outputs = []
        for i in range(1, length):
            forward[i] = nums[i]*forward[i-1]
        for i in range(length-2, -1, -1):
            backward[i] = backward[i+1]*nums[i]
        
        for i in range(length):
            if i==0:
                outputs.append(backward[1])
            elif i==length-1:
                outputs.append(forward[i-1])
            else:
                outputs.append(forward[i-1]*backward[i+1])
        return outputs

相关文章:

  • 【sgHelp】自定义组件:网站、平台右下角的帮助助手、指导助理
  • app测试必须进行吗?需要进行哪些测试?
  • 混元视频与万相2.1全面对比分析
  • 嵌入式笔记 | 正点原子STM32F103ZET6 4 | 中断补充
  • 搭建个人博客教程(Hexo)
  • Django+celery+flower
  • 【文件分类助手V1.0b】支持自定义后缀分类整理及目录文档自动生成,方便大家美化管理自己的PC文件库支持Win10/11
  • 【从零开始学习计算机科学与技术】计算机网络(三)数据链路层
  • 蓝桥杯备考---》分类讨论之Fixed Points
  • 在Ubuntu20.04上交叉编译能在Windows上运行的Qt5应用
  • Vue3 集成wangEditor 5
  • 鸿蒙开发真机调试:无线调试和USB调试
  • MQ,RabbitMQ,MQ的好处,RabbitMQ的原理和核心组件,工作模式
  • LeetCode 解题思路 22(Hot 100)
  • 9.嗅探与Wireshark进阶分析
  • 使用Python在Word中创建、读取和删除列表 - 详解
  • DeepSeek接入多模态,个人电脑也能飞速生成高清图,确实可以封神了!
  • 目前主要虚拟世界平台在单一实例承载人数和伺服器架构的综合比较分析(从开资料和技术推估):
  • 寄存器(内部访问)
  • WordPress靶场攻略
  • 媒体:多家国有大行存款利率即将迎来新一轮下调
  • 特朗普与普京开始电话会谈,稍后将致电泽连斯基
  • 总书记回信二周年之际,上海如何将垃圾分类深度融入城市发展?
  • 前4个月全国新建商品房销售面积降幅收窄,房地产库存和新开工有所改善
  • 国家统计局:1-4月份,全国固定资产投资同比增长4.0%
  • 北京韩美林艺术馆党支部书记郭莹病逝,终年40岁