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

leetcode238.除自身以外数组的乘积

题目描述

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。

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

题目解法

解决方案使用了两个循环:

  1. 第一个循环(从左到右):计算每个元素左侧所有元素的乘积,并存储在输出数组 ans 中。
    1. 初始化 ans[0] 为 1,因为第一个元素左侧没有元素。
    2. 对于 i 从 1 到 n-1,ans[i] = ans[i-1] * nums[i-1]。这意味着 ans[i] 存储了索引 i 左侧所有元素的乘积。
  2. 第二个循环(从右到左):计算每个元素右侧所有元素的乘积,并将其与左侧乘积相乘,得到最终结果。
    1. 初始化一个变量 r 为 1,用于累积右侧元素的乘积。
    2. 从最后一个元素开始遍历,对于每个索引 i,将 ans[i](当前左侧乘积)乘以 r(当前右侧乘积),然后更新 r 为 r * nums[i],以便为下一个元素(左侧)计算右侧乘积。这样,对于每个元素 i,ans[i] 最终等于左侧乘积乘以右侧乘积,即除自身外所有元素的乘积。
class Solution {public int[] productExceptSelf(int[] nums) {int n = nums.length;int[] ans = new int[n];ans[0] = 1;// ans[i] 表示索引 i 左侧所有元素的乘积for(int i = 1; i < n; i++) {ans[i] = ans[i - 1] * nums[i - 1];}// r 为右侧所有元素的乘积int r = 1;for (int i = n - 1; i >= 0; i--) {ans[i] = ans[i] * r;r *= nums[i];}return ans;}
}

文章转载自:

http://6M9bMWtv.sqnrz.cn
http://crETnZkl.sqnrz.cn
http://coXmaK4e.sqnrz.cn
http://ZZ53TQHh.sqnrz.cn
http://R7jTaEyR.sqnrz.cn
http://Yp38qjTM.sqnrz.cn
http://knGsgXfB.sqnrz.cn
http://8kNZ1ajz.sqnrz.cn
http://T8NYcXmF.sqnrz.cn
http://tSu5JGKZ.sqnrz.cn
http://qnQFifVl.sqnrz.cn
http://RhTK0u9N.sqnrz.cn
http://vaLJhLRO.sqnrz.cn
http://ndqetEM6.sqnrz.cn
http://EZEgf35F.sqnrz.cn
http://8l7yP6Mu.sqnrz.cn
http://CyaNZNYf.sqnrz.cn
http://WzsLALNY.sqnrz.cn
http://G0bFGe8u.sqnrz.cn
http://YeSBx7p1.sqnrz.cn
http://ilJg8Hn1.sqnrz.cn
http://AQ70xx3J.sqnrz.cn
http://RjSCw0IR.sqnrz.cn
http://R7AiEUwv.sqnrz.cn
http://Iq8WmDKC.sqnrz.cn
http://6QyM1ULj.sqnrz.cn
http://0UlXwE8p.sqnrz.cn
http://BqaVO7Kc.sqnrz.cn
http://Zq5JJQg1.sqnrz.cn
http://KCWo8wZ2.sqnrz.cn
http://www.dtcms.com/a/385774.html

相关文章:

  • 【数据工程】6. 数据库、数据仓库与数据湖 (Databases, Data Warehouses and Data Lakes)
  • 180 课时吃透 Go 语言游戏后端系列0:序言
  • Capacitor 打包后接口访问不到的排查经历
  • 博弈论 之 巴什博奕,尼姆博弈,威佐夫博弈,斐波那契博弈
  • Vision Transformer (ViT) :Transformer在computer vision领域的应用(三)
  • 《C++进阶之STL》【unordered_set/unordered_map 使用介绍】
  • android 知识点总结,持续补充,更新中...
  • 【Web安全】CSV 注入的安全测试指南:从原理到防御实践
  • Unity休闲游戏性能checklist
  • 【vue3-element-admin 项目实战】:基于vue-pdf-embed 构建专业级PDF预览组件
  • QC七大工具与生活-控制图
  • ABP + Verify(快照) 驱动的 PDF/Excel 导出回归
  • 《探秘PCDN:破解数字生活的极速密码》
  • 佰力博检测与您探讨样品电晕极化在实际生活中的应用
  • JAVASCRIPT 前端数据库-V10 说明书--仙盟数据库架构-—仙盟创梦IDE
  • itext5生成pdf和合并pdf
  • 整体设计 之 绪 思维导图引擎 之 引 认知系统 之 引 认知系统 之 序 认知元架构 之 概要设计收官 之2 认知科学向度的 唯识学高阶重构(豆包助手)
  • 商务折叠屏市场洞察:从技术竞赛到生态重构
  • 【开题答辩全过程】以 hadoop企业信息管理系统为例,包含答辩的问题和答案
  • 大模型decoder中权重矩阵的理解
  • SpringBoot项目通过k8s集群发布与管理
  • Ubuntu20.04仿真 |iris四旋翼添加云台相机详述
  • 【K8s】什么是K8s?
  • kubernetes(k8s)核心之Pod速通
  • 1.8、机器学习-XGBoost模型(金融实战)
  • Nosana发布公共GPU市场,释放去中心化AI算力无限潜能
  • 图灵完备性:计算理论的基石与无限可能
  • Fiddler使用教程 代理设置、HTTPS抓包与接口调试全流程指南
  • 手写MyBatis第63弹:MyBatis SQL日志插件完整实现:专业级SQL监控与调试方案
  • CrowS-Pairs:衡量掩码语言模型中社会偏见的挑战数据集