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

【力扣hot100题】除了自身以外数组的乘积(11)

给你一个整数数组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 { public: vector<int> productExceptSelf(vector<int>& nums) { int length = nums.size(); vector<int> answer(length); // answer[i] 表示索引 i 左侧所有元素的乘积 // 因为索引为 '0' 的元素左侧没有元素, 所以 answer[0] = 1 answer[0] = 1; for (int i = 1; i < length; i++) { answer[i] = nums[i - 1] * answer[i - 1]; } // R 为右侧所有元素的乘积 // 刚开始右边没有元素,所以 R = 1 int R = 1; for (int i = length - 1; i >= 0; i--) { // 对于索引 i,左边的乘积为 answer[i],右边的乘积为 R answer[i] = answer[i] * R; // R 需要包含右边所有的乘积,所以计算下一个结果时需要将当前值乘到 R 上 R *= nums[i]; } return answer; } };
http://www.jsqmd.com/news/216856/

相关文章:

  • 新手也能建博客?Halo 手把手教你,cpolar 帮你把博客 “搬” 到全网
  • 实体商家免费入驻家家有平台,成为联盟商家超详细教程!
  • 【开题答辩全过程】以 基于Java的慕课点评网站为例,包含答辩的问题和答案
  • 知识库 × AI写作:打通公文写作的“最后一公里”
  • 【开题答辩全过程】以 培训信息管理系统为例,包含答辩的问题和答案
  • 记忆力革命:学习力的核心与其目脑力的科技探索
  • 网络基础概念
  • 【力扣hot100题】缺失的第一个正数(12)
  • 亲测好用!MBA毕业论文必备TOP9 AI论文软件
  • Nature调查:科研人员对于AI撰写论文的真实态度,既依赖又顾虑
  • AI生成内容合规指南:基于Z-Image-Turbo云端环境的审核系统
  • 【力扣hot100题】矩阵置零(13)
  • USACO历年青铜组真题解析 | 2024年2月Milk Exchange
  • Lenovo在2026年国际消费电子展Lenovo全球创新科技大会上发布个性化、感知型和主动式AI产品组合,定义混合AI新时代
  • 10分钟搭建阿里通义Z-Image-Turbo WebUI:科哥二次开发镜像一键部署指南
  • ClickHouse 分片集群备份一致性分析文档
  • NPP 北方森林:美国苏必利尔国家森林,1983-1984 年,R1
  • 材料中心物流信息管理系统的设计与实现
  • 架构演进过程
  • 每日 AI 评测速递来啦(1.8)
  • 基于微信小程序的点餐小程序开发与设计
  • 金融级数据治理+企业级架构管控:五度易链的数据治理方案与技术路径
  • K8s资源管理与项目生命周期
  • 2026 国自然申请书大改,不变的是对内容质量的高要求
  • 区间取反与区间数一【牛客tracker 每日一题】
  • 基于PyTorch的CBOW模型实现与词向量生成
  • 基于大数据的颈椎病预防交流与数据可视化分析平台设计与实现
  • 【力扣hot100题】合并区间(9)
  • DeepBI 帮亚马逊卖家突破销售瓶颈,暴增近20倍销量!
  • 交互式教学:将阿里通义Z-Image-Turbo集成到Jupyter Notebook的秘诀