16.除了自身以外数组乘积

news/2026/1/17 14:09:03/文章来源:https://www.cnblogs.com/Pluto134340/p/19495935

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]

方法1:两个数组left[i] 记录前 i 累乘;right[i] 记录后 i 个累乘。因此 ans[i] = left[i] * right[i] ;

left[0] = 1,right[0] = 1 初始化为1,方便记录left[1]=nums[1]

 1 class Solution {
 2     public int[] productExceptSelf(int[] nums) {
 3         int length = nums.length;
 4 
 5         // L 和 R 分别表示左右两侧的乘积列表
 6         int[] L = new int[length];
 7         int[] R = new int[length];
 8 
 9         int[] answer = new int[length];
10 
11         // L[i] 为索引 i 左侧所有元素的乘积
12         // 对于索引为 '0' 的元素,因为左侧没有元素,所以 L[0] = 1
13         L[0] = 1;
14         for (int i = 1; i < length; i++) {
15             L[i] = nums[i - 1] * L[i - 1];
16         }
17 
18         // R[i] 为索引 i 右侧所有元素的乘积
19         // 对于索引为 'length-1' 的元素,因为右侧没有元素,所以 R[length-1] = 1
20         R[length - 1] = 1;
21         for (int i = length - 2; i >= 0; i--) {
22             R[i] = nums[i + 1] * R[i + 1];
23         }
24 
25         // 对于索引 i,除 nums[i] 之外其余各元素的乘积就是左侧所有元素的乘积乘以右侧所有元素的乘积
26         for (int i = 0; i < length; i++) {
27             answer[i] = L[i] * R[i];
28         }
29 
30         return answer;
31     }
32 }
33 
34 作者:力扣官方题解
View Code

方法2: (方法1的升级版)

用ans[i]记录前 i 的累乘

直接再倒着遍历一遍,R 记录后 j 的累乘,ans[j] *= R

 1 class Solution {
 2     public int[] productExceptSelf(int[] nums) {
 3         int length = nums.length;
 4         int[] answer = new int[length];
 5 
 6         // answer[i] 表示索引 i 左侧所有元素的乘积
 7         // 因为索引为 '0' 的元素左侧没有元素, 所以 answer[0] = 1
 8         answer[0] = 1;
 9         for (int i = 1; i < length; i++) {
10             answer[i] = nums[i - 1] * answer[i - 1];
11         }
12 
13         // R 为右侧所有元素的乘积
14         // 刚开始右边没有元素,所以 R = 1
15         int R = 1;
16         for (int i = length - 1; i >= 0; i--) {
17             // 对于索引 i,左边的乘积为 answer[i],右边的乘积为 R
18             answer[i] = answer[i] * R;
19             // R 需要包含右边所有的乘积,所以计算下一个结果时需要将当前值乘到 R 上
20             R *= nums[i];
21         }
22         return answer;
23     }
24 }
25 
26 // 作者:力扣官方题解
View Code

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1173691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

呼和浩特2026年老房翻新机构推荐榜 - 2026年企业推荐榜

文章摘要 本文针对2026年初呼和浩特地区的老房翻新需求,从行业背景、市场趋势入手,推荐五家实力机构,包括包头市美窝装饰工程有限责任公司等,涵盖本地和全国性企业。文章提供选择指南和采购建议,帮助用户做出明智…

深度测评8个AI论文网站,助你轻松搞定本科生毕业论文!

深度测评8个AI论文网站&#xff0c;助你轻松搞定本科生毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 在当今学术写作日益依赖技术辅助的时代&#xff0c;AI 工具已经成为许多本科生应对毕业论文的重要帮手。无论是内容生成、大纲搭建&#xff0c;还是语言润色和降重…

新手做公众号有哪些推荐的工具?微信编辑器怎么选? - peipei33

新手做公众号,最头疼的就是排版和配图了!今天分享几个我亲测好用的免费工具,让你一个人也能轻松搞定公众号运营,连设计师的钱都省了~ 1、 排版神器:小墨鹰编辑器 推荐理由:30秒自动排版!直接导入Word/PPT,AI…

新建maven项目

教程:https://blog.csdn.net/m0_74283019/article/details/143334394

2026年呼和浩特老房翻新机构实力对比推荐 - 2026年企业推荐榜

摘要 随着城市化进程加速,老房翻新行业在呼和浩特地区逐渐兴起,2026年开年之际,许多房主寻求专业机构进行房屋改造。本文基于市场调研和用户反馈,整理出一份推荐榜单,涵盖五家有实力的老房翻新机构,排名不分先后…

2026年江西超纯水仪五大品牌推荐榜单 - 2026年企业推荐榜

摘要 随着实验室和科研领域对水质要求的不断提高,超纯水仪在2026年的江西市场呈现出快速增长的趋势。本文旨在为广大用户提供一份客观、全面的超纯水仪品牌推荐榜单,排名不分先后,仅基于行业调研和用户反馈进行综合…

2026年移动厕所厂家推荐:口碑与质量 - 2026年企业推荐榜

摘要 随着环保意识的提升和城市化进程的加速,移动厕所行业在2026年呈现出蓬勃发展的态势,市场需求持续增长,厂家竞争日益激烈。本文基于行业调研和用户反馈,推荐五家口碑较好的移动厕所批发厂家,排名不分先后,旨…

2026年1月2026年上半年北京刑事诉讼律师咨询排行榜TOP5深度解析 - 2026年企业推荐榜

文章摘要 本文基于2026年上半年北京地区刑事诉讼律师咨询市场数据,从客户痛点切入,分析排行榜评选标准,并详细介绍TOP5品牌,重点推荐文道全律师作为综合最佳选择,提供选型指南和参考信息,助力决策者高效选择法律…

基于PID控制算法的热水器智能控制系统设计——温控系统设计

2 热水器智能控制系统的总体方案设计 2.1实时温控系统的控制原理 能量守恒定律 设置流量传感器及温度传感器放入在储水热水器的进水端&#xff0c;随后用通过单片机去获取水温度及流量的值&#xff0c;然后算出一个能量值是温度提升所需要的数值&#xff0c;通过公式将这个得出…

深圳雅思培训班深度测评推荐:2026 权威英语雅思培训机构口碑排行榜与避坑指南 - 老周说教育

面对雅思备考路上选课难、提分慢、机构杂的三大痛点,一份基于真实数据和专业测评的排行榜,或许是破解迷茫、找到最适合自己学习路径的关键钥匙。 深圳南山区科技园的上班族小李,为了准备留学申请,已经连续三个月每…

「公众号排版」新手入门,看这篇就够了!保姆级教程 - peipei33

作为一个从0开始做公众号的号主,今天手把手教大家最省钱的排版方法,连我这种手残党都能学会! 灵感从哪来? 上周在便利店排队时,听到前面两个女生吐槽"为什么现在恋爱这么难",立刻掏出手机记下这个选题…

英语雅思网上辅导平台权威榜单!2026 高分党力荐,个性化提分机构 TOP5 揭秘 - 老周说教育

在当今留学热潮持续升温的大背景下,雅思考试的重要性愈发凸显,竞争也愈发激烈。我将从具体考试难点、考生困境的细节以及行业现状等方面展开扩写,让内容更丰富生动。 随着留学热潮持续升温,雅思考试已然成为全球学…

电影《林深见渡》在张家口宣化八佰里影业风影片场开机

1月16日&#xff0c;由八佰里影业&#xff08;河北&#xff09;有限公司、苏州八佰里文化传媒有限公司、苏州玉尔影视传媒有限公司投资出品&#xff0c;中影荟影视俱乐部、宁波芊华文化传媒有限公司联合出品的当代、荒野、犯罪、写实的电影《林深见渡》在张家口宣化风影片场正式…

2025年度盘点:本地环氧地坪与大理石翻新养护优质商家排行,目前大理石翻新养护供应商联系电话综合实力与口碑权威评选 - 品牌推荐师

随着商业地产、高端住宅及公共设施对地面环境要求的不断提升,环氧地坪的铺设与大理石的翻新养护已成为现代建筑维护中不可或缺的专业服务。一个高品质的地面系统,不仅关乎美观与耐用性,更直接影响空间的使用体验与资…

11.选项卡、图片按钮、键盘部件(lv_tabview,lv_imgbtn,lv_keyboard)

11.选项卡、图片按钮、键盘部件(lv_tabview,lv_imgbtn,lv_keyboard)Hello World

基于SpringAI的在线考试系统-DDD(领域驱动设计)核心概念及落地架构全总结(含事件驱动协同逻辑)

DDD&#xff08;领域驱动设计&#xff09;核心概念及落地架构全总结&#xff08;含事件驱动协同逻辑&#xff09; 本文基于订单管理场景&#xff0c;结合实操理解&#xff0c;全面梳理DDD&#xff08;领域驱动设计&#xff09;的核心概念、层级关系、落地架构方案&#xff0c;以…

概念梳理之Maven工程的GAVP

Maven 核心概念:GAVP 详解 一、什么是 GAVP? GAVP 是 Maven 项目的四大核心标识属性,相当于项目在 Maven 世界中的"身份证":属性 全称 是否必填 作用G GroupId ✅ 必须 组织或公司标识(类似"姓&qu…

2026 靠谱雅思网上辅导推荐,综合实力 TOP5 榜单,个性化备考方案测评 - 老周说教育

雅思培训选课难?考试提分慢?优质教育机构鱼龙混杂?面对动辄数百节的海量课程,你是否也在铺天盖地的口碑排名中陷入迷茫,渴望找到性价比高、提分效果显著的靠谱方案?据 2025 年中国教育在线调查报告显示,超 68% …

2025年杭州可靠的GEO优化企业哪个好,GEO优化AI工具排名/GEO优化/GEO服务,GEO优化公司怎么选择 - 品牌推荐师

在数字化营销浪潮席卷之下,GEO优化(地理定位优化)已成为企业精准触达本地及特定区域客户的关键技术。尤其在杭州这样的数字经济高地,企业对通过AI工具、短视频矩阵等新媒体手段,结合地理信息实现品牌高效曝光的诉…