NEWS DETAIL

前缀和:中心下标与数组乘积

发布时间:2026/9/26 6:55:45 · 栏目:资讯中心

尧图网络原创建站知识分享正文
文章目录一、左右信息的统一视角二、寻找数组的中心下标三、除了自身以外数组的乘积一、左右信息的统一视角对于下标i可以把数组拆成三部分[0, i) nums[i] (i, n)中心下标比较左右两侧的和除自身以外数组的乘积则把左右两侧的乘积相乘。两题的共同点是都不需要在处理每个i时重新扫描左右区间。二、寻找数组的中心下标LeetCode 724. 寻找数组的中心下标设dp[i]表示下标i左侧所有元素的和那么dp[nums.length]就是整个数组的总和。如果i是中心下标则有左侧和 右侧和 dp[i] dp[nums.length] - dp[i] - nums[i]移项后可以直接判断dp[i] * 2 nums[i] dp[nums.length]这样只需要一个前缀和数组不必再建立后缀和数组。代码从左向右检查因此找到的第一个结果自然是最靠左的中心下标。classSolution{publicintpivotIndex(int[]nums){long[]dpnewlong[nums.length1];for(inti1;inums.length1;i){dp[i]dp[i-1]nums[i-1];}for(inti0;inums.length;i){if(dp[i]*2nums[i]dp[nums.length]){returni;}}return-1;}}时间复杂度为O(n)空间复杂度为O(n)。按照本题约束int足以保存总和这里使用long可以降低代码对数值范围的依赖。三、除了自身以外数组的乘积LeetCode 238. 除了自身以外数组的乘积如果先求全部元素的乘积再除以nums[i]遇到0时就无法处理而且题目本身也要求不使用除法。可以分别保存左侧前缀积和右侧后缀积dpleft[i]下标0到i - 1的元素乘积dpright[i]下标i到len - 1的元素乘积。因此下标i的答案为ret[i] dpleft[i] * dpright[i 1]数组两端没有元素的一侧按乘法单位元1处理所以初始化dpleft[0] 1、dpright[len] 1。classSolution{publicint[]productExceptSelf(int[]nums){intlennums.length;int[]dpleftnewint[len1];int[]dprightnewint[len1];dpleft[0]1;dpright[len]1;for(inti0;ilen;i){dpleft[i1]dpleft[i]*nums[i];}for(intilen-1;i0;i--){dpright[i]dpright[i1]*nums[i];}int[]retnewint[len];for(inti0;ilen;i){ret[i]dpleft[i]*dpright[i1];}returnret;}}题目保证相关前缀积、后缀积与答案都在 32 位整数范围内因此可以使用int[]。时间复杂度为O(n)额外空间复杂度为O(n)。
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/9/25 20:15:57

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/9/25 19:05:45

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/9/25 16:12:04

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/9/25 7:54:32

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/9/25 16:10:12

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/9/25 20:15:12

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询