[优选算法专题四.前缀和——NO.27 寻找数组的中心下标]

题目链接:

寻找数组的中心下标

题目描述:

题目解析:


核心思路

通过预处理两个辅助数组:

  • 前缀和数组 ff[i] 表示下标 i 左侧所有元素的总和(不包含 nums[i] 本身)。
  • 后缀和数组 gg[i] 表示下标 i 右侧所有元素的总和(不包含 nums[i] 本身)。

然后遍历数组,判断每个下标 if[i] 是否等于 g[i],若相等则 i 即为中心下标。

总结

  • 时间复杂度O(n),其中 n 是数组长度。预处理两个数组和遍历数组均为线性时间。
  • 空间复杂度O(n),用于存储前缀和数组 f 和后缀和数组 g(可优化至 O(1),通过先计算总 sum,再用单变量实时计算左侧和,右侧和 = 总 sum - 左侧和 - 当前元素)。
  • 关键点:前缀和与后缀和的定义清晰区分了「不包含当前元素」,避免了重复计算。
相关推荐
通信小呆呆11 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben04411 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
小小工匠12 小时前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾12 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..12 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅100513 小时前
【leetcode】88.合并两个有序数组js
算法
生成论实验室14 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres82114 小时前
算法复键——树状数组
数据结构·算法
H1785350909614 小时前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks